Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Поправка в этом алгоритме всего ОДНА - текущий сдвиг секунд и больше ничего. Текущий сдвиг секунд - это несколько ячеек в памяти, которые просто инкрементируются когда происходит выдержка интервала времени, в котором набегает разница в 1 секунду.
Вы пишите, "Сегодня, при внезапном отключении питания я буду аккуратно закрывать файл, а не мудохаться с поправками и календарём, о котором Вы как-то забыли"...
Во-первых, никакие поправки(а) в этот момент не нужны!
Во-вторых, МК должен всего-лишь сохранить текущее время, которое показывает сам DS1307 без поправок! Это всего 7 байт, что займет для чтения 10 байт (с адресами) по шине I2C всего 1мс. Для записи 7 байт по I2C тоже надо 1мс, на частоте шины 100кГц. В сумме 2мс надо на сохранение текущего времени!
В-третьих, поправки нужно только тогда, когда нужно показать время пользователю или нужно произвести какие-то осмысленные действия, привязанные к точному времени, больше ни для чего поправки не нужны!
Этот алгоритм может реализовать любой, кто понял суть...
Составить ответ | Вернуться на конференцию
Ответы