|
MCU的討論區怎麼都沒有什麼人在討論或是詢問有關TI MSP 430的文章啊!' A* q6 L( @0 N5 o
* v% o+ `$ G m1 D想要詢問如何讓IO可以震出4MHZ0 h' R0 F$ B$ K, e1 T( p/ b! a6 _
8 X- X. } h- s" W
請問一下怎樣設定才能讓IO拉出4MHZ的頻率呢. p. G* R4 s O6 T
以下是我得程式 他最多只到665k
; b% \4 E+ D) R9 Zvoid main(void)% E" z+ G: C3 D" k
{
- ?, B9 N- d G }WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
k4 K' s6 b: d- a3 ~P1DIR |= 0x01; // Set P1.0 to output direction
6 D# ~9 y. Q) J; f- q# {6 t+ W; Y" x/ ~P5DIR |= 0x70; // P5.6,5,4 outputs& _* T; [9 N. h% V/ p6 n% n2 Z
P5SEL |= 0x70; // P5.6,5,5 options
* r D1 M' v9 N2 d/ D, qunsigned int i;1 h: L9 X2 r) s$ m' t# a& y @
BCSCTL1 &= ~XT2OFF; 3 J# ]- `/ |* @: }
//XT2震盪器開啟
1 {. } a- V9 ^/ F5 @//LFTX1工作在低頻模式0 o f/ C% B1 `2 {% w5 y d
//ACLK的分頻因子為12 ^' X4 T S: c! O* S, T4 |$ W
# x1 a, b- O+ r/ m; q
do : p9 l) W0 q& R$ K d% y
{
* J2 y- M) ?8 F// 清除OSCFault標誌+ B; r' o/ `) a, K
IFG1 &= ~OFIFG; ! t; ~. M0 V+ q" b1 x" \
for (i = 0x20; i > 0; i--); 9 \3 _$ N" g2 p& ~; f+ c! V
}* L* T1 v) }2 [
while ((IFG1 & OFIFG) == OFIFG);// 如果OSCFault =1
1 k" ?7 x, K4 _- t- h# h- v: n3 T: o, L/ \9 G0 t
//將寄存器的內容清零% D! |, D7 k7 ^+ I% m
BCSCTL2 = 0X00;
# s \$ }) k5 l//MCLK的時鐘源為TX2CLK,分頻因子為1
$ P, W. ~2 m1 e: TBCSCTL2 += SELM1;
5 h3 a4 ~' _ }5 C( W6 z//SMCLK的時鐘源為TX2CLK,分頻因子為1; z6 g3 p4 p" a8 G$ {- y
BCSCTL2 += SELS;
. ^ P' A7 e1 {( K# F) rfor (;;)
; n- d. s. r9 Q) \0 t{
' p( w8 o% a+ w" ]3 C( N2 uvolatile unsigned int i;
7 e9 Y8 c( B5 f, `
4 m9 S4 q( ~! T& f8 e+ uP1OUT ^= 0x01; // Toggle P1.0 using exclusive-OR8 {5 X l3 b: w. u0 y4 H: J
5 U6 r _, O5 C I/ z0 I5 b$ f4 f6 q/ e7 U, {* G$ ~
}
' I" M4 ^) q9 E7 r% A} |
|