1. А это исправил?
Цитата
2. MASK>>1; - переменная сдвигается (ноль сдвинуть влево!!) , но никуда не записывается, надо "MASK>>=1;"
2. Посмотри осциллографом сигналы на шине, в частности наличие сигнала АСК от часов
3. Формат записи в регистры не правильный
Код
rtc_write (SecondsReg); // Регистр секунд
rtc_write (0x7f);
rtc_write (0x3f);
rtc_write (0xff);
rtc_write (0xff);
rtc_write (0xff);
rtc_write (0xff);
Из даташита:
то есть время/дата записывается в формате BCD
4. Общие замечания: имена макросов - прописными буквами, локальных переменных - строчными, глобальных переменных и функций - не полностью прописными
5. Где объявлены переменные i в rtc_write и read_rtc? По сути они должны быть локальные, а не глобальные
Сообщение отредактировал alexeyv - Jul 7 2011, 06:46