реклама на сайте
подробности

 
 
> M41T56 аналог DS1307, проблема при сбое питания
masterpc
сообщение Feb 29 2008, 08:51
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 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();

}
}



Даже когда питание пропадало, я все равно не попадаю в начальную инициализацию... 07.gif

Сообщение отредактировал masterpc - Feb 29 2008, 08:51
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01352 секунд с 7
ELECTRONIX ©2004-2016