Gast
#1646005
//noch läuft der Chip auf 2 MHz RC
//16MHz-Quarz benutzen
OSC.XOSCCTRL = OSC_FRQRANGE_12TO16_gc | OSC_XOSCSEL_XTAL_16KCLK_gc;
//Siehe iox128a3.h
CLK.PSCTRL = 0; //Prescaler A B C ohne Funktion
OSC.CTRL = OSC_XOSCEN_bm; //Quarz einschalten
while(! (OSC.STATUS & OSC_XOSCRDY_bm) ){ _delay_ms(5);}
//Warte, bis Quarz stabil wenn nicht stabil delay
CCP = CCP_IOREG_gc; //CCP_SPM_gc; //Signatur
CLK.CTRL = CLK_SCLKSEL_XOSC_gc; //Quarz als Takt benutzen
//Jetzt sollte der Chip auf 16 MHz Quarz laufen
//PLL konfigurieren
OSC.PLLCTRL = OSC_PLLFAC1_bm | OSC_PLLSRC_XOSC_gc;
// * 2 ; 11: Ext.Clock (Quarz)
OSC.CTRL |= OSC_PLLEN_bm;
//PLL einschalten
while(! (OSC.STATUS & OSC_PLLRDY_bm ) ){ _delay_ms(5);} //Warte,
bis PLL stabil wenn nicht stabil delay
CCP = CCP_IOREG_gc; //CCP_SPM_gc; //Signatur
CLK.CTRL = CLK_SCLKSEL_PLL_gc; // PLL als Takt benutzen
//Jetzt sollte der Chip auf 32 MHz laufen
}
Leider tut er des aber nicht.
Wo könnte das Problem liegen.
MfG Dirk