[an error occurred while processing this directive]
|
Привет всем.
Не работают часы DS1307, подключенные к аппратному TWI МК ATMega8535.
Точнее сказать, я даже не знаю, работают они или нет.
При считывании любого регистра получаю какой-то случайный мусор.
Даю ссылку на архив с полным текстом микрокода (на cvAVR).
http://hd44780.narod.ru/DS1307-8535.ZIP
МК работает на частоте 4 MHz, внутренний генератор.
Схема подключена к COM-порту компа. Параметры связи и протокол обмена - см. файл DS1307.txt в архиве.
Регистры DS считываются по командам компьютера. Считанные данные тоже перегоняются в комп.
Обе линии TWI имеют pull-up резисторы 10k, согласно доке по микроконтроллеру.
Между выходом OUT и +5в подключен светодиод через 1k резистор.
Резервная батарейка есть, напряжение на 3 ноге DS1307 - +3.06в.
При подаче команды CI часы запускаются (бит CH:=0), в упр. регистр DS
вписывается 10h - светодиод должен мигать с частотой 1 Hz. Но он продолжает просто светиться, как и при включении питания.
Инициализация TWI - в конце функции setPeriferals, ds1307.c.
Считывание регистра DS - ds1307readRegister, ds1307lib.c
запись - ds1307writeRegister, ds1307lib.c
Может я неправильно с TWI работаю, посмотрите пожалуйста.
Спасибо.
E-mail: info@telesys.ru