Hallo ich bin blutiger Anfänger was das Programmieren des Arduinos angeht. Als erstes Projekt habe ich mir eine Binäruhr herausgesucht. Ich habe dafür unter anderem das DS3231 Echtzeitmodul verbaut. Jetzt stehe ich jedoch vor einem Problem: Ich muss um die LEDs der Binäruhr anzusteuern ein Schieberegister verwenden. Ich habe nun eine Methode gefunden um die Dezimalzahlen, die mir das Modul ausspuckt in eine Dezimalzahl umzuschreiben, mit der ich das Schieberegister bedienen kann. Jedoch muss ich die Zehnerstellen und die Einerstellen dafür getrennt von einander betrachten. Die Anzahl der Sekunden sind bdw in einer Variablen gespeichert Also zum Beispiel, wenn ich 34 Sekunden habe muss ich 3 und die 4 getrennt von einander verarbeite können. Hab ihr irgeneine Idee, wie ich das machen kann? Wenn möglich kopiert bitte euren Lösungsvorschlag aus dem Ardoinoprogramm heraus und fügt ihn in eure Antwort ein. Liebe grüße und Danke im Vorraus.
Gast
#5109898
1 | |
2 | |
Gast
#5109906
Gustaf G. schrieb: > die Dezimalzahlen, die mir das Modul ausspuckt Die RTC liefert doch BCD, also genau das, was Du brauchst.
Gustaf G. schrieb: > Wenn möglich kopiert bitte euren Lösungsvorschlag aus dem > Ardoinoprogramm heraus und fügt ihn in eure Antwort ein. Bitte?! Schaue mal auf Seite 11 des Datenblatts. Das Einzige, was man eventuell braucht: Rechts-Shift (>>) bzw. UND-Verknüpfung (&)... Wie das geht, findest du in jedem guten Buch, dass die Programmiersprache C behandelt.
Gustaf G. schrieb: > Ich habe nun eine Methode gefunden um die Dezimalzahlen, die > mir das Modul ausspuckt in eine Dezimalzahl umzuschreiben Du solltest Methoden nicht gedankenlos kopieren, sondern auch verstehen, was sie machen. Wie schon gesagt wurde, die Zahl wird im DS3231 bereits als packed BCD kodiert.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.