Po zapoznaniu się z datashetem i polskimi ubogimi tłumaczeniami napisałem kawałek kodu aby zapisywać i odczytywać 4 nastawy czasu [godziny][minuty] do pcf-a ale coś nie gra i nie wiem czy nie zapisuje czy nie czyta....analogiczny kod ustawienia czasu zegarka chodzi bez problemów...chochlik czy ja coś skonociłem
Zapis do PCF8583
if(!(PIND & _BV(7)))
{//
_delay_ms(30);
TWI_write(zegar,0x10,rtc_pcf[0]);//godziny kanał 1 włącz
TWI_write(zegar,0x20,rtc_pcf[1]);//minuty kanał 1 włącz
TWI_write(zegar,0x30,rtc_pcf[2]);//godziny kanał 1 wyłącz
TWI_write(zegar,0x40,rtc_pcf[3]);//minuty kanał 1 wyłącz
TWI_write(zegar,0x50,rtc_pcf[4]);//godziny kanał 2 włącz
TWI_write(zegar,0x60,rtc_pcf[5]);//minuty kanał 2 włącz
TWI_write(zegar,0x70,rtc_pcf[6]);//godziny kanał 2 wyłącz
TWI_write(zegar,0x80,rtc_pcf[7]);//minuty kanał 2 wyłącz
}
Odczyt z PVF8583
{
PCF8583=TWI_read(zegar,0x10); //adres rejestru dla kanal 1
rtc_bin[8]=PCF8583 >> 4; //odczyt godzin i minut kanał 1 włącz
rtc_dec[8] = bcd_na_dec(rtc_bin[8]);
rtc_bin[9]=PCF8583 & 0x0F;
rtc_dec[9] = bcd_na_dec(rtc_bin[9]); //konwersja na dec
//kolejne trzy analogiczne jedynie ze zmianą adresu rejestru
}