Conexant пише:
У меня кукушка работает
Да, в этой версии был небольшой запас памяти.
Conexant пише:
На гигрометр,психометр пинов у контроллера не хватает
Главное - не хватает мозгов.
Где-то на сайте была похожая разработка на ATMEGA328, кажется. Поищите. Можно будет ее взять за основу.
Conexant пише:
Вы имеете ввиду DS3231?
Больше DS1307. DS3231 я подробно не изучал, но подозреваю, что у него те же особенности.
Суть этих особенностей в том, что при записи нового значения времени DS1307 обнуляет свой внутренний текущий счетчик миллисекунд (и микро тоже). И получается, что если он уже насчитал 999 мсек и готов прибавить 1 сек, приходит запись и эти 999 мсек оказываются потерянными. То есть, фактически если проводится ежесуточная коррекция, то можно терять до 1 сек каждые сутки. И что плохо - величина потери носит случайный характер, работа МК и DS не синхронизированы между собой. Чтобы их синхронизировать нужно менять схему подключения. Кроме того, DS не позволяет напрямую управлять этим счетчиком извне. То есть, установить его в 0,1 сек возможности нет.
В даташит о сбросе счетчика я ничего не нашел. Определил экспериментально. DS3231 у меня в наличии нет, эксперименты проводить не как. Вычитывать даташит тоже смысла нет - есть как есть, все равно ничего я изменить не могу.
В итоге, вся эта игра с коррекцией в 0,1 сек большей частью самообман. Но есть и один плюс, который должен дать положительный эффект. Поскольку прямая коррекция на десятые доли невозможна, то приходится накапливать эти десятые, пока из них не наберется секунда. Например, если коррекция 0,1 сек, то накопление будет идти 10 суток. Все это время МК не будет вмешиваться в работу DS и, соответственно, не сбрасывать счетчик миллисекунд. Правда при коррекции можно как раза эту секунду и потерять, если коррекция с плюсом, или получить две секунды, если с минусом... Но все-таки, должно получиться точнее.
Для начала установите коррекцию в 0 и понаблюдайте. При такой коррекции МК не мешает часам работать и покажет истинную погрешность точности хода.