Hallo ich möchte die REAL TIME CLOCK DS 1302 mit einem PIC auslesen. Die Datenübertragung findet erfolgt in normaler serieller Übertragung. Man muss zuerst ein COMMAND BYTE zum RTC übertragen. Darin sagt man dem IC, ob er schreiben oder lesen soll und in welchen Register (z.B. im Stunde-Register). Ich möchte zu Testzwecken mit einer Zahl im Sekunden-Register dem DS 1302 mitteilen, welche Zeit es ist. Dazu beschreibe ich das Sec-Register. Vorher muss das Bit 7 im Sekundenregister gelöscht werden, damit der RTC die Zeit zählt. Zusätzlich muss im CONTROl-Register Bit 7 auf Null gesetzt werden, um das Zählen zu aktivieren. Bei einem Wechsel von L nach H an SCLK liest der RTC das Bit an der I/O-Leitung ein, wenn er auf lesen vom PIC eingestellt ist, also intern schreiben soll. Wenn der PIC die Zeit lesen soll, geschieht dies bei der negativen Flanke an SLCK. An PORTB soll dann die gelesenen Zahl, die im Register Reg auf dem PIC gespeichert ist, im BCD-Format ausgegeben werden. Das ist mein erster Versuch mit serieller Kommonikation zw. einem PIC und etwas anderen. Natürlich funtioniert die Übertragung nicht. PORTB ist nach der Übertragung auf 11111111. So sollte es nicht sein. Irgendwo gab es dann noch einen Kurzschluss, der den PIC grillte und ihn zerstörte. Toll! Wo das Problem liegt, weiss ich beim besten Willen nicht. Probleme: Übertragung fehlerhaft + Kurzschluss. Hab den Quellcode mal angehängt. mfg Wolfram Hildebrandt
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.