1 Ома 5 кнопок на одном аналоговом входе BMP 280 DS1302 ESP32 ESP8266 GSM SIM800 IOTKASCADA LED MG996R Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для GPS Блок для Ina226 двунаправленное Напряжение Тока Блок для NRF24L01 модуль беспроводной передачи данных 2 Блок для PID регулятора Блок для Servo Управление Блок для Время числом - в часы Блок для ПИД регулятора Блок для Экстремумы Блок для бегущая строка Блок для времени счетчик чисел округление числа дата числом подсчет дней перевод минут Блок для детектирования попадания текущего времени в указанный временной интервал Блок для снятия показаний с трансформатора переменного тока Блок для таймер обратного отсчёта Блок для термопары К-типа max6675 для ESP32 Блок для установки соединения с программой Virtuino Блок для фазового регулятора Блок задержка импульса на включение (таймер) Блок пользовательского параметра для WiFi менеджера Блок приема RF сигнала состоящего из адреса Блок служит для создания бегущей строки Блок служит для управления коммутацией двунаправленного аналогового переключателя мультиплексора CD7 Блок энкодер для ESP8266 Блоки для TFT дисплея на библиотеки Adafruit ILI9341 Блоки для работы с UART Ushakov Блоки разные (прочее блоки) Блоки световых эффектов Данный блок используеflprog блоки для ESP NOW обмен данными включенных последовательно отсчёт в секундах
Блок для Расширение GPIO с помощью MCP23017 (CJMCU-2317)
БЛОК ВВОДА_ВЫВОДА MCP23017.
------------------------------------------------------------------------------------------------------------------------------------
Блок осуществляет обмен с регистрами mcp23017 через шину i2c по адресу=addr.
    Может быть установлен любой адрес. Если адрес <0, устройство не используется, 
    Обычно mcp23017 выпускаются с базовым адресом 0x20 (32 десятичный). 
    Это адрес по умолчанию установлен в библиотеке как "базовый адрес".
    Пространство адресов может меняться входами a0,a1,a2 mcp23017 - всего восемь адресов.
    Если аddr в диапазоне 0-7, то к этому значению будет прибавлено значение базового адреса.
---------------------------------------------------------------------------------------------------------------------------------
Блок может работать с библиотекой RT_HW_MAIN.h и без неё. 
    Если до вызова блока шина i2c не инициализирована, блок инициализирует её. 
--------------------------------------------------------------------------------------------------------------------------------- 
Блок содержит два регистра A и B, кадый из которых может настроен на вывод или ввод - всего шесть режимов:
Настройка регистров определяется параметрами пользователя РЕГИСТР_А и РЕГИСТР_B (char):
    'U'    - вход с подтяжкой внутренним регистром к Vcc и с инверсией;
     'u'    - вход с подтяжкой внутренним регистром к Vcc без инверсии;
    'I'    - вход без подтяжки  к Vcc и с инверсией;
    'i'    - вход без подтяжки  к Vcc без инверсии;
    'O'    - выход прямой;
    'o'     - выход с инверсией.
--------------------------------------------------------------------------------------------------------------------------------------
Обмен с устройством осуществляется периодически с периодом, определяемый параметром "ПЕРИОД В ТИКАХ".
Один тик =50мс. Если ПЕРИОД В ТИКАХ = -1, устанавливается значения периода =10 (соотвествует 500 мс).
При обмене с устройством избыточные операции  обмена (не изменились входные данные или регистр не настроен на соответствующий режим) 
    пропускаются. Этим достигается разгрузка шины i2c.
--------------------------------------------------------------------------------------------------------------------------------------
Алгоритм поиска устройства на шине i2c:
    1.При инициализации устанавливается параметр состояния устройства="поиск устройства не оуществлялось" (=0). 
      2. При первом запуске осуществляется поиск устройства на шине i2c. 
         Если устройство найдено, вчерез 50мс) выполняется дополнительный (контрольный) поиск 
               и устанавливается  параметр состояния устройства="устройство обнаружено и готово к работе"(=2).
      3. Если устройство не найдено, то делается дополнительные 4-попытки обнаружения с периодом 100мс.
      4. Если устройство после дополнительных попыток не обнаружено, 
        то устанавливается  параметр состояния устройства="после поиска устройство не обнаружено"(=1).
     5. В дальнейшем поиск устройства осуществляется с периодичностью 1 сек. 
           Эти запросы на шине i2c по длительности минимально короткие и шину не перегружают.

 

Опрос

Откуда Вы узнали о нашем сайте?

Другие опросы...