Hallo, ich möchte das RTCC-Modul des pic24HJ128GP502 verwenden, allerdings ist mir der prinzipielle Ablauf noch unklar. Ich verwende bisher einen 4MHz crystal als primary oscillator und habe jetzt zusätzlich an SOSCI und SOSCO einen 32kHz watch crystal angeschlossen. Wie kann ich den uC mit dem vom 4MHz crystal abgeleiteten Takt und das RTCC-Modul gleichzeitig mit dem Takt vom "secondary oscillator" laufen lassen? Als oscillator mode muss ich ja eines auswählen und 2 mal pro Sekunde einen clock switch machen erscheint mir ziemlich umständlich .. Danke im Voraus. Grüße, Mirco
gegenfrage: welchen teil im datenblatt von "9.0 Oscillator Configuration" und "22.0 Real-Time Clock and Calendar" hast du nicht verstanden? ich vermute mal, du hast das "LPOSCEN"-bit nicht gesetzt ;-)
Hallo Es laufen beide Oscillatoren gleichzeitig es ist kein clock switch nötig. Gruss Manuel
Hallo, danke für die Antworten. Mit dieser Initialisierung verändert sich der Wert in den RTCVAL-Registern nicht. Ist sie nicht korrekt oder unvollständig?
1 | void init_rtcc() |
2 | {
|
3 | OSCCONbits.LPOSCEN = 1; |
4 | |
5 | NVMKEY = 0x55; /* specific command sequence */ |
6 | NVMKEY = 0xAA; |
7 | RCFGCALbits.RTCWREN = 1; |
8 | |
9 | RCFGCALbits.CAL = 0; |
10 | RCFGCALbits.RTCEN = 1; /* enable RTCC module */ |
11 | RCFGCALbits.RTCOE = 1; /* output enable */ |
12 | |
13 | printf("init_rtcc done.\r\n"); |
14 | }
|
Grüße, Mirco
Hallo Falls du den C30 Compiler verwendest kannst du das OSCCON Register nicht direkt schreiben Microchip stellt folgende Funktionen zur Verfügung:
1 | void __builtin_write_OSCCONL(unsigned char value); |
2 | void __builtin_write_OSCCONH(unsigned char value); |
Weitere Infos unter: http://ww1.microchip.com/downloads/en/DeviceDoc/70308B.pdf oder in der Hilfedatei (hlpMPLABC30.chm) Gruss Manuel
Habe folgende Beispiel-Dateien bei Microchip gefunden:
Hallo Manuel, vielen Dank für die Mühe. Lag am Schreiben ins OSCCON-Register und funktioniert jetzt. Grüße, Mirco
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.