Forum: Mikrocontroller und Digitale Elektronik XMEGA interner Oszillator


von Walli (Gast)


Lesenswert?

Hallo, will meinen XMEGA_128_A1 auf interne 32MHz einstellen.
Im Forum habe ich hierfür folgendes Programm gefunden:

OSC.CTRL = 3;
while(OSC.STATUS != 3)
{
}
CCP = 0xD8;
CLK.CTRL = 1;


OSC.CTRL = 3; Mit diesme Befehl schalte ich aber beide Oszillatoren 2Mhz 
und 32Mhz an, oder? Ich will aber nur den 32MHz einstellen.
sollte es nicht so gehen:

OSC.CTRL = 2;
while(OSC.STATUS != 2)
{
}
CCP = 0xD8;
CLK.CTRL = 1;

DAnke im Voraus

von Gast (Gast)


Lesenswert?

hallo,
Ich habe auch nicht verstanden ?

von gast (Gast)


Lesenswert?

such mal nach der appnote
AVR1003: Using the XMEGA Clock System

von Gast (Gast)


Lesenswert?

Hallo,

 im bezug auf Datenblatt habe ich probiert mit
OSC.CTRL = 2;
while(OSC.STATUS != 2)
aber  hat nicht geklappt  ???

von GG (Gast)


Lesenswert?

Hallo,

ich habe das getestet und es war ok:

// 32 MHz ring oscillator as the main clock source

CLKSYS_Enable( OSC_RC32MEN_bm );
CLKSYS_Prescalers_Config( CLK_PSADIV_1_gc, CLK_PSBCDIV_1_2_gc );
do {} while ( CLKSYS_IsReady( OSC_RC32MRDY_bm ) == 0 );
CLKSYS_Main_ClockSource_Select( CLK_SCLKSEL_RC32M_gc );
WaitForSwitches( );

Siehe Atmel: AVR1003 Using the XMEGA Clock System

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
Noch kein Account? Hier anmelden.