|
請問各位小弟目前用的MCU是 Siliconlab的C5081F320, spec中說明這顆MCU可以開到24MHz 的system clock
; q! k' o; k! @4 V因此小弟照spec上的設定下去寫{# H$ r) [: Y- m' E& S8 _; j" y0 d% T
CLKMUL = 0x00;j]jjU0 z1 s! e- S" l7 W) a' h5 X
CLKMUL |= 0x80; // Enable clock multiplier% J" ?- T. ?1 {1 E X# d+ i
for( x= 0; x < 20; x++ ); // Wait 5us for initialization
+ @4 G) p; M9 {4 {; r CLKMUL |= 0xC0; // Initialize the clock multiplier4 E) _' e* a, e7 O; W$ p2 z
while((CLKMUL & 0x20)==0); ' @) {! s1 a% L% |- o, k
CLKSEL = SYS_INT_OSC; // Select USB clock (48MHz) CLKSEL = 0x02;! a( E2 g7 w4 X3 t* u( n. k
CLKSEL |= SYS_4X_DIV_2; // Select system clock (24MHz)C& d4 Y9 H9 U6 ?/ A% k' o& {
OSCICN |= 0x83;TNPC
. Y1 ^4 n) r' Z4 A& y/ ^; ^ USB0XCN |= 0xE0; // Enable transceiver; select full speed8 Z# a) q9 F& `4 ~
RSTSRC = 0x04;
* |8 \3 s1 [% Z- B6 J9 C% Q6 V n" H# }" {; N
不過這樣設定的system clock 是 24MHz 沒錯, 但是卻變成原本USB可以跑的變成不能跑了 請問各位我是少設定了什麼嗎?
6 X4 v- p4 _ e/ W6 S' B* ^我後來有把 CLKSEL |= SYS_4X_DIV_2; 這行註解掉" s& s0 s" O& x( g2 e8 U% G8 ]0 V
不知道是不是除頻的問題呢? 謝謝 |
|