23=00:23 74НС5951602 BMP-180 DS3231 ESP32 ESP8266 ESPUI Веб-интерфейс с автообновлением HC-SR501 Kонвертация типов integer в bute MAX7219 MODBUS Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для ESP8266 Управление GET запросами Блок для Google таблица из двух параметров Блок для MCP4822 12-битный ЦАП с интерфейсом SPI Блок для OLED Дисплей LCD12864_ST7920 Блок для R-триггер с задержкой импульса и T-триггер со принудительным сбросом в 0 Блок для TelegramSRT Блок для Вычисление температуры по упрощённому уравнению Стейнхарта-Харта (учитывается только коэфиц Блок для Синтезатор частоты на микросхеме AD9833 Блок для адресной светодиодной ленты WS2811 Блок для беспроводного приемника IC 2262 315-433 МГц Блок для детектирования попадания текущего времени в указанный временной интервал Блок для снятия показаний с трансформатора переменного тока Блок для таймер обратного отсчёта Блок для установки соединения с программой Virtuino Блок служит для создания бегущей строки Блоки для ШИМ Блоки для фильтр Калмана Блоки разные (прочее блоки) Взвешенное скользящее среднее Для проигрывания музыки формата WAV из файловой системы ESP8266 без использования дополнительных пла Запись данные с ESP8266 в Google-таблицы Отправка GET запроса ESP-32 ESP8266 Проигрываются vaw файлы с расширением( 1.wav Считает количество нажатий кнопки Х9С103 блок для записи и чтение на EEPROM 24C32 2 BYTE и 3 INTEGER включенных последовательно отсчёт в секундах
Блок для Расширение 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 по длительности минимально короткие и шину не перегружают.

 

Опрос

Вам пригодился материал с нашего сайта?

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