zltigo прав: самое разумное -- держать в DS1307 только время.
Инициатором запросов времени однозначно будет клиентская часть программы МК (так называемая -- бизнес-логика). Думаю, что следует написать код так, чтобы запросы шли не непосредственно к DS1307 (через I2C), а к промежуточному коду, т.е к прослойке между аппаратурой и бизнес-логикой. Назовите этот код драйвером DS1307 и все встанет на свои места. Написать этот код не сложно, сложнее понять (объяснить самому себе) смысл/необходимость этого дополнительного кода.
В драйвере Вы можете прописть все, что хотите. Например, отвечать на запрос клиентской программы учитывая зимнее/летнее время. Зимнее/летнее время учитывается по критерию текущей даты и, соответственно, корректируется или не корректируется динамически при исполнении запроса. В драйвере Вы можете учтывать часовой пояс, который удобно хранить там же -- в ОЗУ DS1307.
Иначе говоря, наличие драйвера, даст Вам свободу маневра. А лезть с коррекцией в DS1307 -- право, не стоит.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|