- непонятно что происходит с прибором и происходит ли вообще :-)
Подключил восьмиразрядный семисегментный индикатор, теперь отображаются:
- сообщение об ошибке инициализации SD-карты
- сообщение о неисправности часов реального времени. (кстати, потом можно будет вывести часики на экран)
- сообщение о невозможности записи на SD-карту (переполнена)
- количество подключенных в настоящий момент датчиков температуры (пока до 999 шт.)
- солнечная инсоляция, 8 градаций (вполне достаточно для определения положения датчика)
- показания температуры каждого датчика в течении 1 секунды (достаточно, чтобы определить их работоспособность)
Листинг программы
Как же мало, оказывается - 30 килобайт :-(
Получилось 27302 байта из 30720 байт ПЗУ и 1374 байта переменных из 2048 байт ОЗУ.
Уже даже не представляю, что там можно ещё оптимизировать :-(
Наверное, придётся изучать ассемблер.
З.Ы. из "новых" (добавленных) косяков - минимальное время между измерениями температуры не может быть меньше ("количество датчиков" * 1 секунду + 1 секунда + "установленная периодичность"). Вернее, оно может быть установлено сколь угодно мало, но работать будет только по этой формуле. Верхняя граница не ограничена.
Решение: Можно убрать последовательное отображение температуры на индикаторе или сделать самостоятельный массив данных (но памяти уже не осталось :-( )

