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.
1 | int zehner = deineZahl/10; |
2 | int einer = deineZahl%10; |
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.