also 16 sekunden sagt mir, dass irgendwas mit der takteinstellung nicht hinhaut!
vermutlich vergehen zu viele takte zwischen
versuchs mal mit ner zwischenvariable oder nem festwert, alsoCode:CCP = CCP_IOREG_gc; CLK.CTRL = (CLK.CTRL & ~CLK_SCLKSEL_gm) | CLK_SCLKSEL_RC32M_gc;
alternativ kannste dir die bitmaske für das CLK.CTRL register direkt reinschreiben also 0bxxxxxxxx ... berichte mal über die ergebnisseCode:unsigned char temp = (CLK.CTRL & ~CLK_SCLKSEL_gm) | CLK_SCLKSEL_RC32M_gc; CCP = CCP_IOREG_gc; CLK.CTRL = temp;
PS : laut datenblatt gibt es geschützte register wie z.B. das clocksource CLK.CTRL, die können nur beschrieben werden, wenn vorher das CCP register mit dem pasenden wert beschrieben wird und dann auch nur exakt 4 takte lang, also wenns zu lang dauert pustekuchen ^^







Zitieren

Lesezeichen