не получается Прислюнил я DS1307 поцепил 2 резюка, запитал всё это дело. плюю старший бит на нулевой адрес (фроде как должно начать джёргать ногу с частотой 1Hz) а эффекта нет. ВОт сижу читаю как с неё ичтать, попробую регистрыс неё почиать...
Во. У меня успехи. Получается общаться с этими часами.
Мне интересно, если читать с нулевого адреса,я должен получать секунды? А если получаю только 0x80 это значит не работает XTAL?
т.е. там сказано, что по адресу 00H в этой микрухе секунды, но старший фит это параметр прерывания. Я записал туда 0х80 при инициализации и читаю эти же 80 каждый раз, и прерываний нет никаких, значит кварц мой не фурлыкает?
ЗЫ. Кварц выпаял из китайских часов, они работали до того как выпаял
Ну я ж не говорю, что кварц должен быть дохлый. Просто он может не заводиться на твоей микросхеме. Для этого и надо ткнуться осциллом и посмареть, есть генерация или нет И никаких загадок!
_________________ Лучше быть первым в деревне, чем вторым в Риме
Пишу модель DS1307 для протеуса. Да уже написал. Тока вот замика одна. Иногда виртуальная ATMega16 при выполнении такого кода:
Код:
/************************************************************************* Terminates the data transfer and releases the I2C bus *************************************************************************/ void i2c_stop(void) { /* send stop condition */ TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
// wait until stop condition is executed and bus released while(TWCR & (1<<TWSTO));
}/* i2c_stop */
"засыпает" на строчке while(....);
Я пробовал другие I2c устройства, не засыпает. пришл к выводу, что я что-то не так написал в реализация псевдо софтварного i2c.
Комментарий к файлу: В самом конце этой порнографии и есть тот STOP он ну ничем не отличается от того, что в спецификации по i2c. Может надо ещё какие-то действия делать после получения стопа? 1.jpg [21.98 KiB]
Скачиваний: 502
Во. У меня успехи. Получается общаться с этими часами. Мне интересно, если читать с нулевого адреса,я должен получать секунды? А если получаю только 0x80 это значит не работает XTAL? т.е. там сказано, что по адресу 00H в этой микрухе секунды, но старший фит это параметр прерывания. Я записал туда 0х80 при инициализации и читаю эти же 80 каждый раз, и прерываний нет никаких, значит кварц мой не фурлыкает?
ЗЫ. Кварц выпаял из китайских часов, они работали до того как выпаял
Надо записать 0х00 вместо 0х80, тогда часики (DS1307) затикают...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения