|
MCU的討論區怎麼都沒有什麼人在討論或是詢問有關TI MSP 430的文章啊!
9 V% Y+ k% k" v: w0 \! }6 S5 @* r' N7 X+ Z5 R$ [) X( U
想要詢問如何讓IO可以震出4MHZ
?. q8 ]2 M4 R$ I: e3 _
8 R" C7 n1 l6 Q5 N請問一下怎樣設定才能讓IO拉出4MHZ的頻率呢
2 p6 u4 o8 d1 \- Y7 {/ [/ k以下是我得程式 他最多只到665k% t& w4 I5 e, _" ~0 k X
void main(void)3 z$ n# t* {9 X1 z; E/ ]% m l
{' b3 L% m# I: C# N, T+ G( s' v
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
/ c7 V2 K6 _1 ^8 CP1DIR |= 0x01; // Set P1.0 to output direction1 l: Z2 ~4 Q F1 M0 m
P5DIR |= 0x70; // P5.6,5,4 outputs) x& T/ D" p( b, H" G* a
P5SEL |= 0x70; // P5.6,5,5 options0 G- q/ C* n9 g8 I: G
unsigned int i;4 u! K) v- f. o1 b
BCSCTL1 &= ~XT2OFF;
3 Q7 {, K4 r* K* ?, ?5 \, S7 }//XT2震盪器開啟7 s, g0 s" T0 u) H% k
//LFTX1工作在低頻模式 y' S/ l8 u* d7 n+ u
//ACLK的分頻因子為14 H# ^9 k( Q& t5 l" R
) B$ p x) Z( X) u# G
do - p& l2 P2 F `3 ?8 |3 s2 W
{
8 _, i1 O8 [# x2 m G# U( Q// 清除OSCFault標誌1 e3 `, f% t x9 X! M+ L+ A: I8 K
IFG1 &= ~OFIFG;
& q/ c% k2 I e; F' ?' dfor (i = 0x20; i > 0; i--);
; _5 W2 ^' T- ]% D}9 ]7 [8 G6 c( ~& I& l
while ((IFG1 & OFIFG) == OFIFG);// 如果OSCFault =1 $ c7 T. z/ }0 i7 r
+ z' S- s# x& o' f' b5 k" H/ n
//將寄存器的內容清零9 K. m6 J+ u+ k
BCSCTL2 = 0X00;
& B Y9 s" C# B$ L$ M+ J8 `, ^//MCLK的時鐘源為TX2CLK,分頻因子為1
; x- k! T/ @! B: H6 mBCSCTL2 += SELM1;
8 |6 H- e! p# X! I//SMCLK的時鐘源為TX2CLK,分頻因子為1+ {' n. v8 z5 n5 B3 Z
BCSCTL2 += SELS; $ z4 R R2 q: Y
for (;;)2 @! W% V6 `* o Y! u
{
& b; g4 }, H4 Rvolatile unsigned int i;- j$ c; S3 v3 J/ d# b
, F" S3 ^3 c3 ~! ^ ?3 k7 I3 eP1OUT ^= 0x01; // Toggle P1.0 using exclusive-OR
0 a( F0 ?" G J# _. N) l1 m
7 D9 A. U1 p' b* L+ N' G8 l7 y" M: s: T' y0 x& f! o; a* z
}
3 V, A: w* T9 ^0 T f} |
|