Archiv verlassen und diese Seite im Standarddesign anzeigen : DS1307 Auslesen. Pause nötig?
Accenter
22.07.2010, 13:10
Ich rufe in meinem Programm in der Hauptschleife die aktuelle Uhrzeit und das Datum dauernd ab und bringe sie mittels LCD "Uhrzeit" auf die erste Zeile.
Abundzu passiert es, dass ich die Uhrzeit dann irgendwo anders auf meinem Display zu sehen bekomme und die dort auch bleibt.
Woran kann das liegen? Darf ich den DS1307 permanent auslesen oder braucht der einige ms Pause? Taktfrequenz ist bei mir 16MhZ (Mega128).
Wenn die Uhrzeit irgendwo anders auf deinem Display steht ist es kein Fehler der RTC. Weil die macht nichts anderes als die Impulse von dem Quarz zu zählen.
Ob du zwischen jedem Lesen eine Pause brauchst, weiß ich nicht aber sowas steht im Datenblatt. Einfach mal da reinschauen.
Aber du machst doch sicher eh immer eine Pause zwischen jedem Lesezugriff oder? Ich nehme nicht an das du im 1ms Takt die Uhrzeit aus der RTC holst :D
Accenter
22.07.2010, 13:36
Die Touchdisplayauswertung verbratet mir auch noch etwas Zeit :-) Sonst gibt es aber keine Pause zwischen dem Lesezugriff in meinem Programm.
Das dürfte normalerweise reichen :D
Aber wie gesagt....ich bezweifel das das an der RTC liegt. Das liegt vielmehr am Display, weil so wie sich das anhört klingt das nach einem Positionierungsfehler auf dem Display.
Accenter
22.07.2010, 14:17
Ich glaube das ist nur eine Timingsache in der Programmstruktur. Es passiert nämlich nur bei der Uhrzeit. Alles andere hab ich immer ganz genau dort wo ich es mit "Locate" hin haben möchte.
mat-sche
22.07.2010, 20:17
Hi Accenter,
könnte es sein, dass das Zeitformat also die Länge der anzuzeigenden Zeichen sich verändert? Wenn es so ist, könnte es sein das die zeichen einfach dadurch in eine weitere Zeile verschoben werden. Setze sie einfach mal in die Mitte vom Display und schau was dann passiert...???
MAT
Cyberzwerg
22.07.2010, 20:49
hallo accenter
sie könnten ja auch nur alle minute die urzeit abfragen
daten abfragen
print 1 pause 100
print 2 pause 100
.
.
.
peterfido
22.07.2010, 22:57
Programm? Welche Art von LCD? Ich habe gute Erfahrungen erzielt, indem ich den DS1307 4x/Sec abfrage. Diese Abfrage und die Displayansteuerung gehören nicht in eine Interrupt Routine. Bei 16 MHZ musste ich manuell die GLCD Lib anpassen, da die Timings nicht optimal waren. Auf das Display schreibe ich nur, wenn sich tatsächlich ein Wert geändert hat.
Accenter
23.07.2010, 14:07
Die Länge ändert sich nicht. Da ich die Uhrzeitt auch zufällig immer woanders am Display habe kann es daran nicht liegen.
Ich habe dieses Display von LEDSEE:
http://ledsee.com/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=144&category_id=23&option=com_virtuemart&Itemid=27
Ich werde mal versuchen alles so zu optimieren, dass ich auch immer nur bei Veränderung auf das Display schreibe. Ich habe auch mal begonnen tesweise einige us zu warten bevor ich die Uhrzeit erneut lese. Mal sehen ob es hilft. Das Problem tritt nur abundzu auf. Oft tagelang garnicht.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.