DS3231 Zählfehler

Gast #5918906
Lesenswert?

Hallo
Ich habe ein Problem mit dem RTC Ds3231, nämlich zählt die Uhr bei den 
Sekunden bis 89 springt dabei aber auch um einige Sekunden vorwärts wie 
z.B. von 9 auf 16 oder von 57 auf 64 bei Minuten und Stunden passiert 
ähnliches(Datum habe ich noch nicht getestet). Das Problem besteht 
sowohl bei der Ausgabe über Uart als auch über 7-Segment Display auch 
ist das Err Bit 0 welches eigentlich ja für eine erfolgreiche I2C 
übertragung steht. Ich habe 2 Uhren gekauft und bei beiden entsteht 
dieser Fehler.

Hier noch der Bascom Code zu Abfragen obwohl ich denke das das Problem 
nicht dort liegt:
1
$regfile = "m8def.dat"                     'atmega8 Mikrocontroller
2
$crystal = 8000000
3
$hwstack = 32
4
$swstack = 32
5
$baud = 9600
6

7

8
$lib "i2c_twi.lbx"                          ' hardware I2C
9
Config Sda = Portc.4
10
Config Scl = Portc.5
11
Config Twi = 400000
12

13

14

15
I2cinit
16
Const Ds3231w = &B11010000           'write und read adressen für den Ds3231
17
Const Ds3231r = &B11010001
18

19

20
Dim _sec as byte
21
Dim _min as Byte
22
Dim _hr as byte
23

24

25
Do
26

27
    I2cstart
28
    I2cwbyte Ds3231w
29
    I2cwbyte 0             'stackpointer auf 0(für Sekunden) setzen
30

31
    I2cstart
32
    I2cwbyte Ds3231r
33
    I2crbyte _sec , ack
34
    I2crbyte _min , ack
35
    I2crbyte _hr , Nack
36
    I2cstop
37

38
    Print "Err: " ; Err                                     ' Err = 0 ->übertragungs kein Fehler
39
    Print "Zeit: " ; _hr ; ":" ; _min ; ":" ; _sec          'Zeit über Uart ausgeben
40

41
    waitms 500
42
Loop
43
End

Ich hoffe ihr könnt mir weiter helfen

Vielen Dank im vorraus
Robin

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren