slava68: (Default)
[personal profile] slava68
После прошлого эксперимента было выявлено несколько недостатков:
- непонятно что происходит с прибором и происходит ли вообще :-)​

Подключил восьмиразрядный семисегментный индикатор, теперь отображаются:
- сообщение об ошибке инициализации SD-карты
- сообщение о неисправности часов реального времени. (кстати, потом можно будет вывести часики на экран)
- сообщение о невозможности записи на SD-карту (переполнена)
- количество подключенных в настоящий момент датчиков температуры (пока до 999 шт.)
- солнечная инсоляция, 8 градаций (вполне достаточно для определения положения датчика)
- показания температуры каждого датчика в течении 1 секунды (достаточно, чтобы определить их работоспособность)

Листинг программы
Как же мало, оказывается - 30 килобайт :-(
Получилось 27302 байта из 30720 байт ПЗУ и 1374 байта переменных из 2048 байт ОЗУ.
Уже даже не представляю, что там можно ещё оптимизировать :-(
Наверное, придётся изучать ассемблер.

З.Ы. из "новых" (добавленных) косяков - минимальное время между измерениями температуры не может быть меньше ("количество датчиков" * 1 секунду + 1 секунда + "установленная периодичность"). Вернее, оно может быть установлено сколь угодно мало, но работать будет только по этой формуле. Верхняя граница не ограничена.
Решение: Можно убрать последовательное отображение температуры на индикаторе или сделать самостоятельный массив данных (но памяти уже не осталось :-( )

Profile

slava68: (Default)
slava68

February 2026

S M T W T F S
1234567
891011121314
15161718192021
22232425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 14th, 2026 07:59 am
Powered by Dreamwidth Studios