koyodza (24.08.2009 11:36, просмотров: 39) ответил Vladimir Ljaschko на Умом понимаю, поскольку уже наелся этих високосных дней. Нужно собирать недельную статистику в циклический буфер в EEPROM. Вот думаю как увязать индекс буфера, его переключение, место хранения (устройство может выключаться), привязку к датам и проч.
а в чем сложность? пишете время события в секундах (если секундное разрешение устраивает), 32 бита дают больше 130 лет. Выбираете "базовое время", например 00:00 1.01.1970 (как в UTC) или 00:00 1.01.2000 - так удобнее, и от него считаете секунды. Если RTC дает в обычном формате - при запуске устройства читаем RTC, переводим в секунды, и дальше МК считаем секунды. Если Вам повезло :=) и Вы выбрали современный МК с RTC в секундах (C8051F41x, STM32) то там просто читаем содержимое счетчика секунд и всё.
Далее применяете всяческие коррекции (зимнее/летнее - обсуждалось на днях на телесистемах, коррекция хода часов, и т.д.)
Затем это время пишете в архив прямо 32-разрядным числом. Вся дальнейшая работа также производится с секундами, и только перед отображением переводится в удобный человеку формат.
Индекс в базе может и не понадобиться, вместо него может использоваться время, но это уже зависит от того, КАК именно организована база
Насчет "его переключение" не понял