closed

Loginbox

Please enter your username and password into the following fields to log in.


  • Username:
  • Password:
  •  
  • Auto log in on every visit.


  •  

Uhren IC 3231



tbegle offline
Benutzer
Avatar
Gender: n/a
Location: n/a 
Age: 59
Posts: 41
Registered: 01 / 2018
Private message
Subject: Uhren IC 3231  -  Posted: 08.11.2019 - 18:09   -  
Hallo Power User,

ich bin mit meinem Latein am Ende!
Seit Jahren habe ich das Uhren IC 3231 ohne Probleme eingesetzt! (Alibaba Platine komplett mit Batt ~80Cent) Super IC(hochgenau - Monate +-1 bis 2Sek)
Jetzt hätte ich die Sekunden benötigt! und musste feststellen dass da >59Sek ausgelesen werden!!
In meiner Hilflosigkeit hatte ich sogar ein weit eingebaut
Kann mir jemand helfen? (Anlage pdf der FW)
Gruss Toni
You must be logged in or your permissions are to low to see this Attachment(s).
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 54
Posts: 1551
Registered: 03 / 2003
Private message
Subject: Re: Uhren IC 3231  -  Posted: 09.11.2019 - 18:27   -  
Hallo Toni,

auch die Sekunden die du vom DS3231 liest sind BCD-codiert. D.h. wenn du 72 dezimal einliest ist das
%01001000 = 0100 Zehner und 1000 Einer = 48 Sekunden

59 Sekunden wäre %01011001

Und deine angezeigten 82 = %01010010 = 0101 Zehner und 0010 Einer = 52 Sekunden

Gruss
Harry
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
This post has been edited 1-times. Last edit: 09.11.2019 - 18:31 by Harry.
go down go up
tbegle offline
Benutzer
Avatar
Gender: n/a
Location: n/a 
Age: 59
Posts: 41
Registered: 01 / 2018
Private message
Subject: Re: Uhren IC 3231  -  Posted: 09.11.2019 - 21:46   -  
Hallo Harry,,
danke für deine Antwort
Die Uhr läuft trotz der Sekunden (die ins Kraut schießen bis 90!!) über Monate genau auf die Sek genau - ich kann sie stellen + + +
ich hatte nun alle Varianten durch um die Sek zur Vernunft zu bringen - leider erfolglos! 57-58-59-65-..90 - 00......
kannst du mir einen Tipp (Programm Zeile) geben? wait?
Gruss
Toni
go down go up
Gunter offline
Administrator
Avatar
Gender: male
Location: GERMANY  Frankfurt Main / Germany
Age:
Posts: 1623
Registered: 02 / 2003
Private message
Subject: Re: Uhren IC 3231  -  Posted: 10.11.2019 - 02:26   -  
Hi,
kommt da wirklich 90(dezimal) ???
Oder ist nicht eher nach 89(dezimal) der Sprung auf 0 ???
Falls dem so ist, hat Harry recht:
du interpretierst einen BCD-codierten Wert als Dezimalzahl.
dezimal 89 ist
binär 0101 1001 und das wiederum ist als
BCD     5      9    also die erwarten 59 sek.
Wenn die Sekunden über #59 zählen würden, würden auch die Stunden/
Tage massiv daneben liegen.
Gunter
2 Dinge sind unendlich: das Universum und die menschliche Dummheit.
Aber bei dem Universum bin ich mir noch nicht ganz sicher
--
Albert Einstein

---
The concept of global warming was created by and for the Chinese in order to make U.S. manufacturing non-competitive
--
Donald J. Trump on Twitter
This post has been edited 2-times. Last edit: 10.11.2019 - 08:50 by Gunter.
go down go up
pvs-deck offline
PowerUser
Avatar
Gender: male
Location: GERMANY 
Age: 48
Posts: 1057
Registered: 02 / 2009
Homepage Private message
Subject: Re: Uhren IC 3231  -  Posted: 10.11.2019 - 16:54   -  
Quote by tbegle

Hallo Power User,

ich bin mit meinem Latein am Ende!
Seit Jahren habe ich das Uhren IC 3231 ohne Probleme eingesetzt! (Alibaba Platine komplett mit Batt ~80Cent) Super IC(hochgenau - Monate +-1 bis 2Sek)
Jetzt hätte ich die Sekunden benötigt! und musste feststellen dass da >59Sek ausgelesen werden!!
In meiner Hilflosigkeit hatte ich sogar ein weit eingebaut
Kann mir jemand helfen? (Anlage pdf der FW)
Gruss Toni


Hallo Toni,

leider ist in Deinem Code nicht erkennbar, wie Du die gelesenen Sekunden
Code
TWIout(DS3231,$00); // Start Befehl
mdelay(10); // ??
TWIinp(DS3231,Secound);

Für die weiter Ausgabe umwandelst, wie bei über 90% der RTCs sind die Werte BCD-Kodiert.

Versuche mal folgendes in Deinem Code zum Test (ungetestet, aber so wandele ich es immer in allen meinen Uhren um):
Code
TWIout(DS3231,$00); // Start Befehl, setze Leseadresse auf 0x00
TWIinp(DS3231,Secound);
 // Maskierungen
   Secound   := Secound  AND %01111111; // nehme das BIT 7 raus und verwende nur 0..6
    // Testausgabe 
     Write(Serout,'Sekunden: '+ByteToHex(Secound)    ); // HEX Ausgabe als String zeigt bei einem BCD      Uhrenwert das Ganze richtig an
..


Du kannst Die BCD-Werte einfach mit ByteToHex() als String umwandel, da die Uhrenwerte in BCD nie im Low und High vom BCD über 9 gehen.

Achso, nur weil Du evtl. einen Dreher in der Umwandelung der gelesenen Sekunden-Werte hast, läuft die RTC intern natürlich trotzdem weiterhin richtig.

Und GANZ WICHTIG! Wenn Du das Task-System vom AVRco nutzt, musst Du während des lesens/schreibens immer lock() und am Ende unlock() machen, gerade wenn Du den TWI in einem anderen Task / Process nutzt. Denn dann funktioniert unter Umständen das Autoinc. vom RTC nicht mehr und Du liest Müll.

Gruß
Thorsten
You must be logged in or your permissions are to low to see this Attachment(s).
---------------------------------------------------------
Nichts ist unmöglich in der Elektronik und der Software, die Grenzen
setzt nur das Budget, Zeit und der Entwickler! ( P V S - D E C K )
This post has been edited 3-times. Last edit: 10.11.2019 - 17:07 by pvs-deck.
go down go up
tbegle offline
Benutzer
Avatar
Gender: n/a
Location: n/a 
Age: 59
Posts: 41
Registered: 01 / 2018
Private message
Subject: Re: Uhren IC 3231  -  Posted: 10.11.2019 - 21:43   -  
Hallo Günter, Hallo Thorsten,

recht herzöichen Dank euch Beiden, ich werde mir eure Lösungsansätze demnächst zur Brust nehmen!
Günter du hast recht, bis 89 - das Verrückte(für mich war) die Uhren gehen super genau! (Alibaba 0,90€! mit Batt!)
BCD Wandlung mache ich öfters dass ich ales DEZ habe(EEprom,....)

Grüsse
Toni
go down go up
 


Registered users in this topic
Currently no registered users in this section

Delete cookies of this forum  •  FAQ / Help  •  Team page  •  Imprint   |  Local time: 12.12.2019 - 04:14