Forum: Mikrocontroller und Digitale Elektronik RTC M41T81 und BASCOM Denkfehler?


von Andy (Gast)


Lesenswert?

Hallo,

Hab ne RTC am I2C hängen die irgendwie nicht funktionieren will???
Die RTC ist eine M41T81 --> Datenblatt hier 
-->http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00002302.pdf

Der I2C Bus läuft, der Chip wird erkannt.... aber er updatet die Uhrzeit 
nicht.

Erst setz ich das HT Flag zurück das nach PowerON sitzt...
1
   I2cstart                                                 
2
   I2cwbyte &HD0                                            
3
   I2cwbyte &H0C
4
   I2cwbyte &H00
5
   I2cstop
Dann irgenwelche Werte rein
1
   I2cstart
2
   I2cwbyte &HD0
3
   I2cwbyte &H00
4
   I2cwbyte &H00
5
   I2cwbyte &H01
6
   I2cwbyte &H02
7
   I2cwbyte &H03
8
   I2cwbyte &H04
9
   I2cstop
Und lese ich nun meine Werte wieder bleiben die immer gleich... Sprich 
die Uhr steht...
1
   I2cstart
2
   I2cwbyte &HD0
3
   I2cwbyte &H00
4
   I2cstart
5
   I2cwbyte &HD1
6
      If Err = 1 Then
7
      I2cstop
8
      Print "FEHLER"
9
      Else
10
   I2crbyte B1 , Ack
11
   I2crbyte B2 , Ack
12
   I2crbyte B3 , Ack
13
   I2crbyte B4 , Ack
14
   I2crbyte B5 , Nack
15
   I2cstop
16
   Print B1 ; "-" ; B2 ; "-" ; B3 ; "-" ; B4 ; "-" ; B5
17
      End If

Hab ich irgendwo nen Denkfehler oder warum läuft die nicht... :-(

Grüßle
Andy

: Bearbeitet durch User
von J. H. (joho62)


Lesenswert?

Mit Deiner ersten Sequenz schreibst Du in das Alarmregister
für Stunden(&h0C) eine Null rein.?
Jo

von Andy (Gast)


Lesenswert?

richtig.
wegen dem 6ten Bit = HT = Halt update bit.

Ich les das so raus das die uhr bei spannungsausfall zwar weiterläuft, 
aber das register nichtmehr updatet. Damit man bei spannungsrückkehr die 
uhrzeit des ausfalles hat. Deswegen setz ich das 0x0C auf 0 damit die 
uhr wieder updatet...

von Andy (Gast)


Lesenswert?

ok, gefunden...

natürlich ändert sich da nix wenn ich erst die uhr setz und dann ne µS 
später nachschau was sich getan hat... :-(

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.