Новая версия библиотеки - в основном обновлено (переделан) LCD HD44780
Библиотека пользовательских блоков:
Библиотеки для Arduino IDE:
Большой пример на FLProg - пришлось упаковать:
--------------------------------
Что нового.
1.Аккуратнее сделана работа c PROGMEM - это в библиотеке RT_HW_Boards.h. Ранее изредка возникали проблемы при одновременной работе этой библиотеки и библиотеки на LCD. Проблемы были именно на MEGA2560 - на Nano,DUE,ESP,STM32 все было нормально. Это проблема на просторах интернета всплывала, много времени пришлось потратить - сейчас должно работать.
В библиотеке дисплея RT_HW_LCD_HD44780 полностью отказались от PROGMEM - не нашел пока способа косвенной адресации - для ESP8266 библиотека для работы с PROGMEM сделана иначе, "костыли" вставлять не решился, пришлось много чего переработать. А жаль. На всех контроллерах кроме ESP все работало и удалось избавиться от работы со String (много места отнимает). Пришлось искать компромисс.
2.Вывод численных переменных в LCD. Перед каждой переменной можно добавить заголовок, в конце суффикс (один символ). Расширенные блоки имеют вход "blink" - мерцание и вход EN - блокировка. Когда EN 1->0 поле очищается.
2.Вывод текстовых,булевых и символьных переменных в расширенных блоках LCD также предусматривает входы "blink" и EN.
--------
В тестовом примере на MEGA2560 работают:
1. На шине i2c два LCD HD44780 (16x2 и 20x4) на которых отображается динамически меняющиеся данные.
2. На шине i2c два 16-разрядных регистра MCP23017 c динамически меняющиеся данные.
3. На шине SPI сдвиговый регистр 74HC595 c динамически меняющиеся данные.
4. На шине SPI еще один LCD HD44780 16X2 c динамически меняющиеся данные. Это самый быстрый способ работы с LCD.
5. Через 6 пинов напрямую подключен еще один LCD. Всего в примере 4 дисплея, возможна одновременная работа до 15 дисплеев.
6. Еще работами с пинами...
7. Еще работа с консолью - очень удобный инструмент для отладки обладающий существенно большими возможностями чем блок UART в FLProg.
8. и т.п.
------------
---------
И ничего не тормозит и можно добавлять много плат с задачами.
-------
Проект грузится в ESP8266,ESP32,STM32F103, Arduino DUE, Mega2560.
Если отключить часть плат для экономии памяти грузится и в Nano.
При этом проект переделывать не надо и все работает, тип контроллера определяется при загрузке в Arduino IDE.