Подключил по TWI к ATmega64A часы реального времени DS1307. Взял готовые функции чтения и записи минут и часов (работают). А вот с AM/PM никак. Вот код чтения и записи минут и часов. Также приложил адреса и значения битов (PM-high).
Код
DS1307Read(0x01,&temp); // Чтение регистра минут
minute = (((temp & 0xF0) >> 4)*10)+(temp & 0x0F);
temp = ((minute/10) << 4)|(minute%10);
DS1307Write(0x01, temp); //Запись регистра минут
DS1307Read(0x02,&temp); // Чтение регистра часов
hour = (((temp & 0x10) >> 4)*10)+(temp & 0x0F);
temp = 1<<6;//12часовой формат
temp|=((hour/10) << 4)|(hour%10);
DS1307Write(0x02, temp);
Как считать и записать AM/PM, как это с часами и минутами?
Эскизы прикрепленных изображений