|
請問各位小弟目前用的MCU是 Siliconlab的C5081F320, spec中說明這顆MCU可以開到24MHz 的system clock# s) d& S* b; ^: j% n4 U d) {$ g+ X
因此小弟照spec上的設定下去寫{8 N* x+ s9 R" v1 ~! L
CLKMUL = 0x00;j]jjU" I# y2 L7 L( I0 h+ p' t# S4 _
CLKMUL |= 0x80; // Enable clock multiplier
( [0 D7 b4 s l7 N8 b+ F for( x= 0; x < 20; x++ ); // Wait 5us for initialization3 c3 c4 ^4 N0 O, m- ~9 Y" R9 N
CLKMUL |= 0xC0; // Initialize the clock multiplier5 Z) k) f2 K9 L3 |' _$ G5 _
while((CLKMUL & 0x20)==0);
0 s' Y6 P# r- P5 Q. l- ^$ K* U9 I" a CLKSEL = SYS_INT_OSC; // Select USB clock (48MHz) CLKSEL = 0x02;; p; A: W# ^) }+ y
CLKSEL |= SYS_4X_DIV_2; // Select system clock (24MHz)C
, j1 P" f5 M* M. Y/ Z4 ` OSCICN |= 0x83;TNPC6 j' u/ H! N" |5 N9 ~
USB0XCN |= 0xE0; // Enable transceiver; select full speed# a" d. D: E% M3 p
RSTSRC = 0x04;
( X! d4 ?7 z# u% u Q, w6 _1 |$ ^" Q+ b+ I2 D
不過這樣設定的system clock 是 24MHz 沒錯, 但是卻變成原本USB可以跑的變成不能跑了 請問各位我是少設定了什麼嗎?
7 u8 C# d* l, ]/ A. C我後來有把 CLKSEL |= SYS_4X_DIV_2; 這行註解掉8 Q: T% w; z2 V# M9 @; T
不知道是不是除頻的問題呢? 謝謝 |
|