1 - тратится ещё одна "драгоценная" ножка мк.
2 - видел схемы, где и секунды есть, и только по i2c подключение. Интересно как там сделано.


Для Меги 8 это несущественно, для Тини - конечно, но при таком большом выборе контроллеров, как сейчас, не лучше ли взять контроллер, у которого будет достаточно ног? В крайнем случае, индикацию можно сделать на сдвиговых регистрах, но самый точный способ считать время - прерывание. Поэтому, ножку желательно все таки выделить для этого.Palmyr писал(а): 1 - тратится ещё одна "драгоценная" ножка мк.
2 - видел схемы, где и секунды есть, и только по i2c подключение. Интересно как там сделано.
Я уже высказывал предположение, оно осталось незамеченным, возможно, вырубание основного питания DS1307 во время транзакции по I2C и приводит к тому, что время сбивается. Естественно, вероятность такого события при частоте опроса 100 ... 200 Гц будет куда выше, чем при опросе раз в секунду.woddy писал(а):у меня опрашивается 100-200 раз в секунду. баг описаны парой страниц раньше. других проблем нет.
DS1307 по даташиту работает только на 100 кГц:woddy писал(а):и i2c желательно разогнать с 100 до 400кгц.
The DS1307 operates in the standard mode (100kHz) only.
Ну во общем-то я почти DS32kHz и ставлю: DS3231sn - как раз RTС и термокомпенсированный генератор в одном корпусе.Darth Cuauhtemoc писал(а): В принципе, если так уж хочется обойтись без внешнего прерывания, опрашивать можно раз в секунду - точность установки времени человеком все равно не будет высокой, стоит ли гнаться за десятыми долями? Если бы я был поклонником безинтерраптного метода, я вообще опрашивал бы DS-ку раз в минуту, а то и реже, просто для коррекции времени.
И еще вопрос - а зачем нужна такая точность? Если нужен именно секундомер (т.е., надо точно отмерять интервалы времени) то тут я бы не только на прерывании сделал, но еще и генератор DS32kHz поставил, невзирая на его цену.
По идее если питание при чтении отрубается, то время сбрасыватся вроде не должно.Darth Cuauhtemoc писал(а): Я уже высказывал предположение, оно осталось незамеченным, возможно, вырубание основного питания DS1307 во время транзакции по I2C и приводит к тому, что время сбивается. Естественно, вероятность такого события при частоте опроса 100 ... 200 Гц будет куда выше, чем при опросе раз в секунду.
DS3231 400кгц поддерживает, но всё остальное, что будет у меня висеть на I2C поддерживает только 100кгц.woddy писал(а):и i2c желательно разогнать с 100 до 400кгц.

Давайте разгонять шину до 700KHz.woddy писал(а):у меня от NXP все RTC, они 400 кгц умеют
Да, в общем виде это так. Для DS1307, где есть выход 1Гц можно через прерывание сделать синхронизацию, а для других типов (М41Т56 и иже с ними), там всё равно есть только 512Гц, причём асинхронное к ходу часов из-за наличия механизма коррекции точности хода. С этими часами придётся всёравно ловить смену секунды.Palmyr писал(а): Допустим есть часы с секундными индикаторами.
С неё значение секунд придётся раз 20 за секунду считывать, чтобы вовремя отловить изменение секунд?
Я тоже так делаю в часах с секундами.A_AVL писал(а): Для DS1307, где есть выход 1Гц можно через прерывание сделать синхронизацию,.
Тоже так думаю.A_AVL писал(а):Вариант с подсчётом времени внутри МК я не рассматривал изначально, бо это уже излишне-при наличии аппаратных качественных часов городить ещё и программные.
A_AVL писал(а): Вариант с подсчётом времени внутри МК я не рассматривал изначально, бо это уже излишне-при наличии аппаратных качественных часов городить ещё и программные.
Интересно, а почему же тогда, несмотря на наличие аппаратных качественных часов, в компьютере время считывается из них только при старте, а дальше комп считает сам?SLvik писал(а): Тоже так думаю.
Просто сделал свои часы по аналогии. Кстати, код это усложняет несильно. Зато позволяет вынести медленные пересылки по I2C в те моменты времени, где это некритично (чтение времени после старта, до входа в главный цикл, и запись при нажатии на кнопку Setup). Конечно, для простых часов и для I2C интерфейса, некритичного к таймингам, это не имеет значения, но RTC используется не только в часах.A_AVL писал(а):И причём тут компьютер?
Нужно Мухомора искать , говорили что галерея его детище , может у него резервная копия есть .sova писал(а):Добрый день. В галерее был проект часов с GPS, галерея умерла. Никто не поможет ссылкой?
слева!

Какой нужен проект? их там много было...sova писал(а):Добрый день. В галерее был проект часов с GPS, галерея умерла. Никто не поможет ссылкой?
Я считываю ~128 раз(частота дин. индикации) , когда индикатор погашенPalmyr писал(а): С неё значение секунд придётся раз 20 за секунду считывать, чтобы вовремя отловить изменение секунд?
А чо спорить то ???Darth Cuauhtemoc писал(а):A_AVL писал(а): Вариант с подсчётом времени внутри МК я не рассматривал изначально, бо это уже излишне-при наличии аппаратных качественных часов городить ещё и программные.Интересно, а почему же тогда, несмотря на наличие аппаратных качественных часов, в компьютере время считывается из них только при старте, а дальше комп считает сам?SLvik писал(а): Тоже так думаю.