|
MCU的討論區怎麼都沒有什麼人在討論或是詢問有關TI MSP 430的文章啊!' c( f8 |, Y- m+ z$ ^; }
0 o; m1 J1 S8 L" o7 Y/ S8 w+ F( u想要詢問如何讓IO可以震出4MHZ
$ G* g4 w/ n0 z" G% m; u' C [7 E' U4 n& s; G# w8 \) J4 X
請問一下怎樣設定才能讓IO拉出4MHZ的頻率呢
8 N( g% z: N1 e' R以下是我得程式 他最多只到665k
* f7 ~* `; K* s/ b+ q4 u; yvoid main(void)
$ i( [9 Q, l& r' b8 T1 a& o9 a{" d4 q$ Q6 H9 {% g* g! Q$ S
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
2 w# {# d2 J m) D! ZP1DIR |= 0x01; // Set P1.0 to output direction
) l9 ^3 g6 z# u% JP5DIR |= 0x70; // P5.6,5,4 outputs' l- D, i" Y* b, g+ i
P5SEL |= 0x70; // P5.6,5,5 options
! V5 ` g3 u x8 |8 J. gunsigned int i;5 A, _; F' n1 u( M& e
BCSCTL1 &= ~XT2OFF; + Q6 v( Z! U5 n4 \0 m- M6 K/ _$ [& a ~
//XT2震盪器開啟2 D, b! l, L& L3 ?
//LFTX1工作在低頻模式8 U/ C; s* L/ f) I
//ACLK的分頻因子為1; n$ e9 T, I( Z% p
9 e5 G" b% i, `: l- Y" qdo ( L; `8 f0 `% t6 Y2 {+ p* H
{: @4 q( {1 k) {/ D/ J& D" }! Z
// 清除OSCFault標誌. ]$ e. t4 o6 X/ x
IFG1 &= ~OFIFG; + L: [0 x. S- N; _' ~
for (i = 0x20; i > 0; i--); : z0 p% M; {$ v9 P! t
}
7 I k- ]+ U: P& E( Cwhile ((IFG1 & OFIFG) == OFIFG);// 如果OSCFault =1 ) ~+ q. P/ o% U* N- Z2 n' q: s
) n5 P7 l% r, x//將寄存器的內容清零
$ z6 I& P# z( s7 E2 UBCSCTL2 = 0X00; 7 J3 k4 B0 }3 W: H( X. j9 h$ _
//MCLK的時鐘源為TX2CLK,分頻因子為1
9 P7 x/ Z D, k# e& IBCSCTL2 += SELM1;
9 M" r1 U/ o. r% V//SMCLK的時鐘源為TX2CLK,分頻因子為17 e1 ]% v) a) A5 F
BCSCTL2 += SELS; . u# p9 x4 j; s0 `$ _7 E+ g
for (;;)0 j1 W H/ `9 @3 K
{+ A' p& W% I" W% O+ b( S' u3 N
volatile unsigned int i;
3 c1 k7 n0 b0 `) o
: A b1 n; G& sP1OUT ^= 0x01; // Toggle P1.0 using exclusive-OR# `, b5 d1 B8 h5 i7 E5 }) I" ?8 h
8 I+ H/ v- [! J' y% C; s ^7 M( E% p6 O B
}( s1 J9 a. E" w2 `3 F
} |
|