To co zamieściłem wcześniej to są funkcje obsługi warstwy TWI. Na tym trzeba zaimplementować obsługę konkretnych układów. Przykładowy kod zapisu bajtu do wybranego rejestru PCF8563. Do bufora wpisujesz adres rejestru i bajt danych, resztę załatwia funkcja zapisu bufora.
Kod:
#define PCF8563_ADDR 0xA2 //adres zegarka PCF8563
///////////////////////////////////////////////////////////////////////////////////////////////////
// RTC write register
void rtc_write_reg(u8 reg, u8 value)
{
u8 buffer[2]; //buffer
buffer[0]=reg; //adres rejestru
buffer[1]=value; //dane
twic_write_buf(PCF8563_ADDR, buffer, 2); //wysylanie bufora do RTC
}