Hallo, ich versuche meinen ATxmega von den voreingestellten 2MHz auf einen 32kHz Takt (extern) zu holen. Doch leider scheint es mit diesem Stück Quelltext nicht zu klappen. Kann mir jemand sagen, was daran falsch sein kann. Danke. /*Oscillator 32KHz:*/ OSC.XOSCCTRL=OSC_XOSCSEL_32KHz_gc; /*Enable External Oscillator:*/ OSC.CTRL |=OSC_XOSCEN_bm; while(!(OSC.STATUS & OSC_XOSCRDY_bm)) { } /*Switch to External Clock Source:*/ CLK.CTRL=CLK_SCLKSEL_XOSC_gc; Danke.
Hallo, This program was produced by the CodeWizardAVR V2.05.1b Evaluation Automatic Program Generator void system_clocks_init(void); int main(void) { system_clocks_init(); while (1) { } return (0); } void system_clocks_init(void) { unsigned char n,s; // Save interrupts enabled/disabled state s=SREG; // Disable interrupts cli(); // External 32,000 kHz clock source on XTAL1 initialization OSC.XOSCCTRL=OSC_XOSCSEL_EXTCLK_gc; // Enable the external clock source OSC.CTRL|=OSC_XOSCEN_bm; // System Clock prescaler A division factor: 1 // System Clock prescalers B & C division factors: B:1, C:1 // ClkPer4: 32,000 kHz // ClkPer2: 32,000 kHz // ClkPer: 32,000 kHz // ClkCPU: 32,000 kHz n=(CLK.PSCTRL & (~(CLK_PSADIV_gm | CLK_PSBCDIV1_bm | CLK_PSBCDIV0_bm))) | CLK_PSADIV_1_gc | CLK_PSBCDIV_1_1_gc; CCP=CCP_IOREG_gc; CLK.PSCTRL=n; // Select the system clock source: External Osc. or Clock n=(CLK.CTRL & (~CLK_SCLKSEL_gm)) | CLK_SCLKSEL_XOSC_gc; CCP=CCP_IOREG_gc; CLK.CTRL=n; // Disable the unused oscillators: 2 MHz, 32 MHz, internal 32 kHz, PLL OSC.CTRL&= ~(OSC_RC2MEN_bm | OSC_RC32MEN_bm | OSC_RC32KEN_bm | OSC_PLLEN_bm); // Peripheral Clock output: Disabled PORTCFG.CLKEVOUT=(PORTCFG.CLKEVOUT & (~PORTCFG_CLKOUT_gm)) | PORTCFG_CLKOUT_OFF_gc; // Restore interrupts enabled/disabled state SREG=s; // Restore optimization for size if needed } Gruß XMEGA
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.