Началось все со знакомства с продуктом Ардуино, на с помощью которого я пытался собрать систему контроля качества воздуха. В моем распоряжении были плата Arduino Mega PRO, датчики пыли, температуры, давления, влажности, концентрации СО2, CO, часы реального времени, интерфейсы обмена данными UART. Стояла задача связать их все вместе и заставить правильно работать. Следует отметить, что датчик CO2 для коррекции своих измерений требует на вход текущие значения температуры, давления и влажности. Все шло отлично, до тех пор, пока не стал вопрос о прошивке. Здесь меня ждал сюрприз. Как оказалось, для некоторых приборов не существует библиотек для Arduino, существующие библиотеки достаточно общие и занимают много flash памяти, хотя по сути, работа там выполняется минимальная. Возникают проблемы с работоспособностью прошивки при включении флага оптимизации -Os (нарушается порядок обработки прерываний и прочее). Эти проблемы возникали у меня на следующих компиляторах gcc-avr, cvavr, mikroC
С чего все началось
30 июня 202130 июн 2021
18
1 мин