|
請問各位小弟目前用的MCU是 Siliconlab的C5081F320, spec中說明這顆MCU可以開到24MHz 的system clock2 N: `) p1 l1 {& S5 k/ @/ ]+ j
因此小弟照spec上的設定下去寫{
/ j+ L1 V; h: ~8 b$ i CLKMUL = 0x00;j]jjU$ W; `2 c1 L$ K1 f/ X' X
CLKMUL |= 0x80; // Enable clock multiplier
# Q% [% j" v$ `1 |" P k, ]9 @ for( x= 0; x < 20; x++ ); // Wait 5us for initialization# Y1 |( c# ` k% J& c7 S
CLKMUL |= 0xC0; // Initialize the clock multiplier
7 ^+ W; ]9 L F( w# x5 ] while((CLKMUL & 0x20)==0); 4 l' `, O+ s! }5 n) R- W7 m
CLKSEL = SYS_INT_OSC; // Select USB clock (48MHz) CLKSEL = 0x02;
# q- H) z6 v% f2 k' g1 F CLKSEL |= SYS_4X_DIV_2; // Select system clock (24MHz)C
( |) ?( A/ D5 F8 c9 [ OSCICN |= 0x83;TNPC9 T, I$ B9 b7 d2 y9 u
USB0XCN |= 0xE0; // Enable transceiver; select full speed
# \% f* m) k# b/ d5 U, f RSTSRC = 0x04;* |* P+ V& e* ~* ~
& n+ A+ b1 o3 Z! d- Z不過這樣設定的system clock 是 24MHz 沒錯, 但是卻變成原本USB可以跑的變成不能跑了 請問各位我是少設定了什麼嗎?
% ]1 n5 k" N2 u `. @. J# F我後來有把 CLKSEL |= SYS_4X_DIV_2; 這行註解掉
: ^! n. w. K: }/ }( |' E不知道是不是除頻的問題呢? 謝謝 |
|