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

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
IOPA4
Встал на лапы
Сообщения: 81
Зарегистрирован: Вс окт 18, 2009 20:47:43
Откуда: Североморск
Контактная информация:

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

Сообщение 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 и в результате часы виснут. Что я делаю не так - помогите, пожалуйста.
Глаза боятся - руки делают!
yurijI
Открыл глаза
Сообщения: 76
Зарегистрирован: Пт фев 23, 2007 11:48:36

Сообщение yurijI »

МОЖЕТ ЭТО ПОМОЖЕТ
http://www.phanderson.com/jkmicro/8583_1.html
Аватара пользователя
IOPA4
Встал на лапы
Сообщения: 81
Зарегистрирован: Вс окт 18, 2009 20:47:43
Откуда: Североморск
Контактная информация:

Сообщение 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();
}
Глаза боятся - руки делают!
Аватара пользователя
IOPA4
Встал на лапы
Сообщения: 81
Зарегистрирован: Вс окт 18, 2009 20:47:43
Откуда: Североморск
Контактная информация:

Сообщение IOPA4 »

Интересно, в даташите пишут, что все данные для даты нужно вводить в формате bcd, но ввожу в цифровом формате и готовое устройство нормально работает, а Proteus клинт.
Глаза боятся - руки делают!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»