Problem: PIC24F Taktfrequenz umstellen (PLL)

Gast #1959887
Lesenswert?

Hallo,

ich hab meinen PIC24FJ128GA106 immer mit folgenden Configurations-Bits 
betrieben.

1
_CONFIG1( JTAGEN_OFF &     //JTAG:       disabled
2
      GCP_OFF &     //Code Protect:   disabled
3
      GWRP_OFF &     //Write Protect:   disabled
4
      COE_OFF &     //Clip-on Emulation mode: disabled
5
      FWDTEN_OFF &   //Watchdog Timer:   disabled
6
      ICS_PGx2 )     //ICD pins select:   EMUC/EMUD share PGC2/PGD2
7

8

9
_CONFIG2( FCKSM_CSDCMD &   //Clock switching and clock monitor: Both disabled
10
      OSCIOFNC_ON &   //OSCO/RC15 function: RC15 == kein Clock am Ausgang
11
      POSCMOD_NONE &   //Oscillator Selection: Primary disabled
12
      FNOSC_FRC &   //Fast RC oscillator w/ divide and PLL
13
      IOL1WAY_ON )  //RP Register Protection: Write RP Registers Once

Nun habe ich
1
FNOSC_FRC
 auf
1
FNOSC_FRCPLL
 gestellt. Laut Datenblatt soll ein Takt mal 4 (4 x PLL) rauskommen.
Er verdoppelt sich aber nur. Was könnte ich vergessen oder falsch 
gemacht haben?

Gruß
Dieter
Gast #1959981
Lesenswert?

Nach einigem hin und her, habe ich letztendlich sicherheitshalbe mal die 
postscalerbits 0 gesetzt.
1
  //Postscaler für internen Clock
2
  CLKDIVbits.RCDIV0 = 0;
3
  CLKDIVbits.RCDIV1 = 0;
4
  CLKDIVbits.RCDIV2 = 0;

Ich dächte, die wären defaultmäßig auf 0. Aus irgend einem Grund 
scheinen sie es nicht zu sein.

Gruß
Dieter
Gast #1960884
Lesenswert?

Ja, FCY ist 16MHz, aber der Systemclock ist natürlich 32MHz bei 4*8MHz.
Ich messe den Takt mit dem Oszi.
Wie gesagt, haut ja jetzt hin, nachdem ich den Postscaler gesetzt habe.

Außerdem kann man das ganze auch über den UART überprüfen. Die Baudrate 
berechnet sich ja aus dem Systemclock/2 bzw. FCY. Haut der Clock nicht 
hin, kommt nur Mist am UART raus.

Gruß
Dieter

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