|
M41T56 аналог DS1307, проблема при сбое питания |
|
|
|
Feb 29 2008, 08:51
|

Частый гость
 
Группа: Участник
Сообщений: 124
Регистрация: 1-03-07
Из: Винница
Пользователь №: 25 788

|
Когда вынимаю батарейку и выключаю питание, не могу определить, что питание пропадало - часы продолжают идти, хотя в даташите вроде как написано, что не должны, и начальная програмная инициализация не происходит. Вот привожу кусок кода, взятый в теме "исходники". //Инициализация часов void rtc_init(void) { unsigned char temp; i2c_start(); i2c_tx_addr(DS1307_ADDR|WR); i2c_tx(0); //адрес регистра состояния i2c_start(); i2c_tx_addr(DS1307_ADDR|RD); temp=i2c_rx(NOT_ACK); //читаем его i2c_stop();
if(temp & (1<<CH)) //если питание часов пропадало { rtc_set_time(0, 0, 0); //устанавливаем время rtc_set_date(1, 1, 2000); //устанавливаем дату
i2c_start(); i2c_tx_addr(DS1307_ADDR|WR); i2c_tx(DS1307_CONTROL); i2c_tx(0x90); i2c_stop();
} }Даже когда питание пропадало, я все равно не попадаю в начальную инициализацию...
Сообщение отредактировал masterpc - Feb 29 2008, 08:51
|
|
|
|
|
 |
Ответов
|
Feb 29 2008, 10:33
|

Местный
  
Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528

|
Цитата(masterpc @ Feb 29 2008, 11:51)  Когда вынимаю батарейку и выключаю питание... А как вообще Вы умудряетесь запустить устройство без питания? rtc без всякой инициализации при подачи питания или Vbat начинают тикать. Выбросьте Вы "исходники", в t56 нет бита CH. Обычно, пропадание питания или отсутствие Vbat проверяют по совпадению "волшебного" слова, которое должно сидеть в ram. Т.е. подали питание, слово не обнаружили, значит, либо это первое включение вообще, либо проблемы с Vbat, далее, заносим в ram своё словечко и выставляем часы.
--------------------
Для связи email: info собака qbit.su
|
|
|
|
|
Feb 29 2008, 10:43
|

Частый гость
 
Группа: Участник
Сообщений: 124
Регистрация: 1-03-07
Из: Винница
Пользователь №: 25 788

|
Цитата(bzx @ Feb 29 2008, 12:33)  Выбросьте Вы "исходники", в t56 нет бита CH. Обычно, пропадание питания или отсутствие Vbat проверяют по совпадению "волшебного" слова, которое должно сидеть в ram. Т.е. подали питание, слово не обнаружили, значит, либо это первое включение вообще, либо проблемы с Vbat, далее, заносим в ram своё словечко и выставляем часы. Зато в даташите для М41T56 есть вот, что: 3.3 Initial power-on defaults Upon initial application of power to the device, the FT Bit will be set to a '0' and the OUT Bit will be set to a '1.' All other Register bits will initially power-on in a random state.Я теперь смотрю не за "волшебным словом" (хотя была такая идея), а за OUT Bit.
Сообщение отредактировал masterpc - Feb 29 2008, 10:44
|
|
|
|
|
Feb 29 2008, 11:01
|

Местный
  
Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528

|
Цитата(masterpc @ Feb 29 2008, 13:43)  Я теперь смотрю ... за OUT Bit. А как контролировать Vbat планируется?
--------------------
Для связи email: info собака qbit.su
|
|
|
|
|
Feb 29 2008, 12:02
|

Частый гость
 
Группа: Участник
Сообщений: 124
Регистрация: 1-03-07
Из: Винница
Пользователь №: 25 788

|
Цитата(bzx @ Feb 29 2008, 13:01)  А как контролировать Vbat планируется? Да вот так и контролирую, уже проверял, все ок.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|