|
請問各位小弟目前用的MCU是 Siliconlab的C5081F320, spec中說明這顆MCU可以開到24MHz 的system clock
/ B t4 F' A* v因此小弟照spec上的設定下去寫{& V& s) \; P0 j$ i( D% [/ z4 B
CLKMUL = 0x00;j]jjU
+ \# S. |, F. G2 c CLKMUL |= 0x80; // Enable clock multiplier
' L0 }4 D5 g+ S: x" }2 D for( x= 0; x < 20; x++ ); // Wait 5us for initialization
! `7 D i! ]2 c* r CLKMUL |= 0xC0; // Initialize the clock multiplier5 v% h* @4 w+ B1 P; k" F
while((CLKMUL & 0x20)==0);
6 I' V. V: U# U CLKSEL = SYS_INT_OSC; // Select USB clock (48MHz) CLKSEL = 0x02;- _) J7 s( {2 A
CLKSEL |= SYS_4X_DIV_2; // Select system clock (24MHz)C% F. @2 f( O% k! w- k2 L& ?2 p
OSCICN |= 0x83;TNPC( F$ ^8 }: p; }- m. O. k: \
USB0XCN |= 0xE0; // Enable transceiver; select full speed
( s# e8 r. w1 c; f5 q3 F7 T* h RSTSRC = 0x04;
' ?2 H, r7 @( S* ]+ r- L3 P0 c$ N) X! l2 a) ^ Y0 G
不過這樣設定的system clock 是 24MHz 沒錯, 但是卻變成原本USB可以跑的變成不能跑了 請問各位我是少設定了什麼嗎?
0 [: Q9 y0 a- a& q5 z我後來有把 CLKSEL |= SYS_4X_DIV_2; 這行註解掉5 Q6 U5 r1 L4 F( E
不知道是不是除頻的問題呢? 謝謝 |
|