hallo brauche mal dringend Hilfe.
Bin grad dabei die Uhr Rv3029 anzusteuern, habs geschafft, dass ich die
Uhr mit bestimmten Zeitwerten schreiben kannm jedoch beim lesen, kommt
zwar eine Zeit zurück aber nicht die die ich reingeschrieben habe, hab
den 1Hz clock nicht eingeschaltet, da ich erst nur schreiben und lesen
testen will.
Mein code sieht wiefolgt aus:
main.c:
Bevor die daten geladen, werden, werden sie in bcd format umgewandelt
und beim auslesen werden sie wieder vom BCD format zurück umgewandelt.
Kann mir da einer weiterhelfen, komme einfach nicht mehr weiter.
Danke.
Aha Danke, ich dachte ich könnte es irgendwie in der for schleife
einbauen, aber was mir auch auffiel ist, dass ich den struct tm beim
auslesen übergebe, aber ihn nicht im code benutze, also muss ich doch
einzeln übergeben.
warum sek, min mit 0x7f maskieren, die sind doch nur maximal 59 und Tage
24?
Hab da noch ne Frage, in der read funktion, habe ich eine VAriable Data
erstellt, die als Datenvariable für den I2C_RX eingesetzt wird, soll da
eigentlich nicht mein tm da hin, ich glaube ich verwechse hier gerade
etwas.
Danke.
Hallo,
du ließt über I2C die Daten aus der RTC nach DATA[x]
Dann korrigierst du die Daten und bringst sie über die Zeiger in deine
struct Time. Ist eigentlich ok.
Gruß G.G.
Danke für deine Antwort. leider funktioniert es immer noch nicht so
ganz.
Habs auf dem Oszi alles angeschaut jeden Schritt, laut dem Datenblatt
(siehe unten) sollte nach dem Punkt 8 ein Acknowledgement kommen, das
passiert bei mir nicht, ich komme einfach nicht drauf warum denn nicht.
Wie gesagt, das schreiben funktioniert. Auch im Read mode, funktionieren
die Punkte 1 bis 6, dann Punkt 7 und Punkt 8 sehe ich auch auf dem Oszi
nur im nächsten Bit kommt kein Acknowledgement.
Als Verständnis. Der Master ist ja der I2C Bus und Slave ist ja die
RV3029 Uhr. Also ist im write mode der Master der Transmistter und Slave
der Receiver, aber im Read mode ist dann der Master der Receiver und
Slave der Transmitter, das heißt, dass der I2c bus kein acknowledge
quittiert, dalso muss ich hier nach dem Fehler suchen.