|
MCU的討論區怎麼都沒有什麼人在討論或是詢問有關TI MSP 430的文章啊!' {+ [: D# |! C% ^
4 T1 A& q( m; ~% n
想要詢問如何讓IO可以震出4MHZ
. l8 ^6 f7 i( ?" }" N/ j8 v/ {! F) G$ }5 K1 O* Z# p# E
請問一下怎樣設定才能讓IO拉出4MHZ的頻率呢) `4 }8 d5 Q8 @5 g$ ^/ |
以下是我得程式 他最多只到665k$ [7 H N/ _0 S
void main(void)$ b: A+ a H% F3 [9 @0 w. D
{2 |, K0 P* S8 X" x% Y2 y3 p( J$ f
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
3 R9 g& O) l: Y8 x4 NP1DIR |= 0x01; // Set P1.0 to output direction
+ a4 @1 d! S8 l* s2 p: ~; U8 FP5DIR |= 0x70; // P5.6,5,4 outputs
A' R% A( z$ {- rP5SEL |= 0x70; // P5.6,5,5 options
5 C( q5 ^ O8 P6 p+ Ounsigned int i;5 H; d9 _* C6 ]: [- q e) H
BCSCTL1 &= ~XT2OFF;
4 K/ R+ B4 A7 O5 k6 F$ Z//XT2震盪器開啟2 [' v M8 M9 P3 Y9 m. j8 `! E
//LFTX1工作在低頻模式
6 q8 i, D# P# \3 }- t//ACLK的分頻因子為1/ ?- D! H# g& ^9 ~
( |0 \+ _, r9 { N
do
7 }2 V1 r$ f3 }" q, ^; t1 X$ F{: Q( J" h/ q- @8 k" p6 G, I) u$ k
// 清除OSCFault標誌
( R+ M5 d" _; l% w8 nIFG1 &= ~OFIFG; ( \( Y9 b/ N) k
for (i = 0x20; i > 0; i--); ; D0 A; [- D. P) L1 S- m% v0 i
}1 |/ U1 t, O& W7 H. @' `: b9 Z# Z
while ((IFG1 & OFIFG) == OFIFG);// 如果OSCFault =1
z& B' j% e% J3 Z! T# h- n) v) P2 |& w. c) ^
//將寄存器的內容清零
# Y5 n1 P! i+ e0 |0 i) d* V M R' d5 EBCSCTL2 = 0X00;
" U. }# t7 F3 T6 b H8 S//MCLK的時鐘源為TX2CLK,分頻因子為1
~/ z6 U! M% }, l1 pBCSCTL2 += SELM1;
. G; e8 y$ B q/ l3 g$ b//SMCLK的時鐘源為TX2CLK,分頻因子為1
% p7 v" X7 [5 v; W8 H$ U |BCSCTL2 += SELS; 6 ?4 h- _0 ~: b. Q* }1 f7 X1 x7 P
for (;;)
+ y. S% m+ C H' _- \{6 |, W- t3 N7 [: h5 P. g! L
volatile unsigned int i;" F0 k9 w0 m% e6 e/ ^, s
1 r7 I8 D- e( C; x: f+ TP1OUT ^= 0x01; // Toggle P1.0 using exclusive-OR, P; }) k) Q2 J [9 n
! s- n1 M- L( ~4 B* D1 @+ E
; l7 G0 u5 L$ S! o% C
}
: k' j3 t! a8 T `' P} |
|