Страница 1 из 1

PCF8583 - выцарапал все мозги

Добавлено: Чт мар 04, 2010 19:47:55
IOPA4
Делаю запись значений:
void write_data(void)
{
unsigned int Y;
i2c_start();
i2c_write(0);
rtc_set_time(0, Hrs, Mins, Sec, Msec); //записать время
Y = (Years<<6);
Y = bin2bcd(Y);
rtc_set_date(0, Day, Mon, Y); //записать дату
i2c_stop();
}

Использую стандартную библиотеку CodeVisionAVR pcf8583.h и в результате часы виснут. Что я делаю не так - помогите, пожалуйста.

Добавлено: Чт мар 04, 2010 20:13:40
yurijI
МОЖЕТ ЭТО ПОМОЖЕТ
http://www.phanderson.com/jkmicro/8583_1.html

Добавлено: Чт мар 04, 2010 21:48:55
IOPA4
void read_data(void)
{
i2c_start();
i2c_read(0);
rtc_get_time(0, &Hrs, &Mins, &Sec, &Msec);
rtc_get_date(0, &Day, &Mon, &Years);
Years = bcd2bin(Years>>6);
if (Years<2000) {Years=Years+const_y;};
i2c_stop();
}

Добавлено: Сб мар 06, 2010 21:50:29
IOPA4
Интересно, в даташите пишут, что все данные для даты нужно вводить в формате bcd, но ввожу в цифровом формате и готовое устройство нормально работает, а Proteus клинт.