Измерение температуры, влажности почвы на stm8s
Сегодня с лёгкой головой ещё раз перечитал блоги в поисках информации о компиляции и оптимизации програсс микронтроллера семейства STM8.
Посмотрел ассемблерные распечатки файлов проекта. Очень толковая статья здесь:
Автор блога провёл исследование реализации конструкций языка Си в ассемблер. Компилятор SDCC оптимальный код сделать не может, написанный на языке Си.
Писать генератор прошивок на языке Assembler я не готов. Это путь назад, на несколько десятилетий в прошлое. Тогда создавал программы на ассемблере для микроконтроллеров i8048 и i8051 .
Вернулся к примерам сборки компилятором sdcc, в которых исходные файлы на Си и заголовочные файлы оптимизированы.
Добавил протокол передачи измеренных данных:
cnt=457; Test protocol mmsg
*MK:5038,15114,916,916,0,0#2F (полный пакет измерений)
*V1:916#8d (аналоговый канал)
*T1:24#1b (температура)
*HU:0x55,#d6 (влажность)
В проекте сейчас протоков передачи ascii сообщений ‘mmsg’, драйвера ds18b20, tm1637 и аналоговый вход для датчика влажности. Сейчас в процессе отладки всего проекта мониторинга за почвой оранжереи.