witam mam problem podlaczylem wydaje mi sie ze dobrze atmege do pcf8583 dalem rezystory podciagajace na liniach komunikacji
wejscie a0 pcf do masy wejscie int (co prawda wisi w powietrzu ale jak zwieralem opornikiem 10k do 5V nic sie nie zmienialo)
kod w bascomie
dxx to ledy podpiete aliasami do portxx
odczyt zrobilem analogicznie jak w jednym z postow na forum ale nic nie dziala tzn wartosc I=165 (zapala mi sie led Dy1) liczbe te dobralem testujac, nie mam lcd wiec kontakt z prockiem jest marny natomiast wiem ze to 165 moje pytanie brzmi dlaczego akurat tyle co robie nie tak, jak powinienem odczytac poprawna godzine...?
Proszę poprawić treść wiadomości - regulamin p.15
[zumek]
wejscie a0 pcf do masy wejscie int (co prawda wisi w powietrzu ale jak zwieralem opornikiem 10k do 5V nic sie nie zmienialo)
kod w bascomie
I2cstart 'inicjalizacja magistrali I2C
I2cwbyte &HA0 'podanie adresu podstawowego PCF8583
I2cwbyte 2 'wybranie drugiego rejestru (sekund)
I2cstart 'start transmisji
I2cwbyte &HA1 'zgłoszenie zamiaru odczytu informacji
I2crbyte S , Ack 'odczyt Rejestru Sekund (z potwierdzeniem - Ack)
I2crbyte M , Ack 'odczyt rejestru minut (z potwierdzeniem - Ack)
I2crbyte H , Ack 'odczyt rejestru godzin (tryb 24h) (z potwierdzeniem - Ack)
I2crbyte Dni , Ack 'odczyt dnia miesiąca (z potwierdzeniem - Ack)
I2crbyte Miesiace , Nack 'odczyt miesiąca (bez potwierdzenia - Nack)
I2cstop 'zatrzymanie transmisji
I = Makedec(s)
If I = 165 Then
Reset Dy1
Set Dy2
Set Dy3
End If
If I >= 167 And I <= 170 Then
Set Dy1
Reset Dy2
Set Dy3
End If
If I > 170 Then
Set Dy1
Set Dy2
Reset Dy3
End Ifdxx to ledy podpiete aliasami do portxx
odczyt zrobilem analogicznie jak w jednym z postow na forum ale nic nie dziala tzn wartosc I=165 (zapala mi sie led Dy1) liczbe te dobralem testujac, nie mam lcd wiec kontakt z prockiem jest marny natomiast wiem ze to 165 moje pytanie brzmi dlaczego akurat tyle co robie nie tak, jak powinienem odczytac poprawna godzine...?
Proszę poprawić treść wiadomości - regulamin p.15
[zumek]