RTCC PIC24 - primary/secondary oscillator

OP #2003974
Lesenswert?

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
OP #2005119
Lesenswert?

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
Gast #2006371
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren