Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как определить установлена или нет микросхема часов DS1307
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
andr_doy
Схема обычная
микроконтроллер на шине I2C подцеплена микросхема часов DS1307
шина реализована программно
проблем нет

Вопрос
Как определить установлена или нет микросхема часов DS1307?

чтоб можно было реализовать такой режим

если микра стоит то показывается время
если нет то например выводить "DS307 not Found"
AHTOXA
Нет микросхемы - нет ACK-а на команды. Пытаетесь прочитать время - нет ACK - нет микросхемы. Как-то так...
WHALE
Цитата(AHTOXA @ Jul 23 2008, 11:15) *
Нет микросхемы - нет ACK-а на команды. Пытаетесь прочитать время - нет ACK - нет микросхемы. Как-то так...

Достаточно NO_ASK на адресацию.Еще желательно проверка есть ли батарейка.Я храню последовательность из 3 байт в часах и при включении после адресации читаю их.Не совпадает-кирдык батарейке-часам верить нельзя.
AHTOXA
Цитата(WHALE @ Jul 23 2008, 13:28) *
Достаточно NO_ASK на адресацию.


Ну да, первый ACK будет не получен при отправке адресаsmile.gif

Цитата(WHALE @ Jul 23 2008, 13:28) *
Еще желательно проверка есть ли батарейка.Я храню последовательность из 3 байт в часах и при включении после адресации читаю их.Не совпадает-кирдык батарейке-часам верить нельзя.


Так вроде у 1307 есть специальный бит в статусе?
andr_doy
Цитата(AHTOXA @ Jul 23 2008, 13:43) *
Ну да, первый ACK будет не получен при отправке адресаsmile.gif
Так вроде у 1307 есть специальный бит в статусе?


что у самой микрухи много чего есть - это понятно
а вот если ее физически нет

про АСК при посылке адреса - проверю

может еще идеи есть

Спасибо
defunct
Цитата(andr_doy @ Jul 23 2008, 11:19) *
про АСК при посылке адреса - проверю
может еще идеи есть

А зачем еще идеи? Обращаетесь к м/с, если возвращается NACK, то ее нет. По спецификации I2C этот способ годится для проверки наличия любого I2C устройства.
Ну можете на всякий случай попробовать к ней обратиться еще несколько раз, например каждый раз понижая скорость I2C шины вдвое. Если во всех случаях NACK - то ее точно нет, или серьезный сбой шины (e.g. разрыв).
andr_doy
Цитата(defunct @ Jul 23 2008, 16:18) *
А зачем еще идеи? Обращаетесь к м/с, если возвращается NACK, то ее нет. По спецификации I2C этот способ годится для проверки наличия любого I2C устройства.
Ну можете на всякий случай попробовать к ней обратиться еще несколько раз, например каждый раз понижая скорость I2C шины вдвое. Если во всех случаях NACK - то ее точно нет, или серьезный сбой шины (e.g. разрыв).


Спасибо всем - бум пробывать
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.