Время останавливается - это значит устанавливается в 1 бит 7 (СН) в регистре 00h (Секунды). Этот бит останавливает генератор. Внимательно следите при считывании времени за этим. А ерунда читается видимо из-за не совсем корректной реализации протокола I2C, либо из-за сильных помех по питанию или информационным линиям. Я когда делал проект с такой микрухой тоже были проблемы, но когда отладил протокол, оказалось, что микруха сама по себе работает очень четко и стабильно. В процедуре коррекции часов при обнулении секунд, я обнуляю весь регистр, и часы начинаю ходить, даже если перед этим были какие-то сбои.
|