Gast
#3242071
Hallo Zusammen, ich versuche gerade die Basics von der µC-Programmierung in C zu begreifen. Dazu habe ich ein Xplained128A1 (Xmega128A1) einen 8 Bit LED Zähler programmiert um die Pin Ansteuerung zu üben. Als nächstes möchte ich die den Oszillator unterschiedlich einstellen. Dazu habe ich folgenden Code gefunden: OSC.CTRL |= OSC_RC32MEN_bm; while(!(OSC.STATUS & OSC_RC32MRDY_bm)); CCP = CCP_IOREG_gc; CLK.CTRL = CLK_SCLKSEL_RC32M_gc; Programm (siehe unten Läuft!) !!! Wenn ich jedoch auf 2 MHz gehen möchte blinken meine LEDs (Zähler) (siehe Programm unten) immer noch gleich schnell!!????? OSC.CTRL |= OSC_RC32MEN_bm; while(!(OSC.STATUS & OSC_RC32MRDY_bm)); CCP = CCP_IOREG_gc; CLK.CTRL = CLK_SCLKSEL_RC32M_gc; Wo habe ich den Fehler/ Gedankenfehler? Hier der gesamte Programmcode: #include <asf.h> unsigned int k,n,start; char TastenD = 0; void wait_sinnfrei (void) { k = 0; while (k<10000) { k++; } } int main (void) { OSC.CTRL |= OSC_RC32MEN_bm; while(!(OSC.STATUS & OSC_RC32MRDY_bm)); CCP = CCP_IOREG_gc; CLK.CTRL = CLK_SCLKSEL_RC32M_gc; PORTE.DIR = 0xff; while (1) { n = 0; while (n<255) { PORTE_OUT = n; n++; wait_sinnfrei(); } } } Vielen Dank für die Hilfe !!!! Stefan