|
MCU的討論區怎麼都沒有什麼人在討論或是詢問有關TI MSP 430的文章啊!
2 O. w0 S- P' t) z$ Y3 Z* |
z. y9 s2 a- Y想要詢問如何讓IO可以震出4MHZ
# T( ^5 T% \! G8 Z2 t) L: z+ l1 g# ^
請問一下怎樣設定才能讓IO拉出4MHZ的頻率呢: w4 J' @/ A' M k7 |4 {
以下是我得程式 他最多只到665k6 }( Z$ g$ n8 p3 N/ e' ]0 P( k: |
void main(void)
# O1 Y( n( Z0 c4 h. d{
V5 F1 o3 _1 B6 |; D9 BWDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
1 z- I q; j( t5 n1 dP1DIR |= 0x01; // Set P1.0 to output direction& N A X& @$ }/ @2 @# y
P5DIR |= 0x70; // P5.6,5,4 outputs( K7 l$ S5 B t
P5SEL |= 0x70; // P5.6,5,5 options$ [' \0 o* z1 x+ Z4 [8 |0 u
unsigned int i;% [) i% A% U0 n$ e5 j5 c, }7 N& x/ e
BCSCTL1 &= ~XT2OFF;
0 n, {8 c$ O1 j9 b, Y. {( [! e//XT2震盪器開啟# A% J8 \! N0 S3 M; h; V! F/ Z6 K
//LFTX1工作在低頻模式. d) u; e* ~/ t }
//ACLK的分頻因子為1
( W k5 ?. S o4 p, g# Z9 Q9 H; [8 p
do * O# W; a5 I( h6 y; y$ {2 r+ e
{
1 E: B, u! J" c// 清除OSCFault標誌3 r( D9 |% f' H! H" I, K
IFG1 &= ~OFIFG; # i4 I1 @; S3 \3 f8 V
for (i = 0x20; i > 0; i--); ) R. x4 G9 M1 [, \9 n/ D- o6 |
}
" ]! N5 E5 N3 p4 w0 y0 t! F( Gwhile ((IFG1 & OFIFG) == OFIFG);// 如果OSCFault =1
+ `8 H( t. [6 w; ?4 I0 j: @1 o- `7 o! d1 |, I5 L+ p
//將寄存器的內容清零
5 b+ V" D. `8 _* H6 v3 |BCSCTL2 = 0X00;
# `0 I- Z: K- L4 J+ C//MCLK的時鐘源為TX2CLK,分頻因子為1
% o1 q$ D- x( l% N, q& BBCSCTL2 += SELM1; ! ^* Z5 P. o& V9 R! P% u
//SMCLK的時鐘源為TX2CLK,分頻因子為1: B3 m0 M3 P# N+ L7 }
BCSCTL2 += SELS; w4 \7 Q% x8 z9 I2 E% L
for (;;)
l1 o" T- O9 l2 D( x; X{
- J! v! @% p9 x$ B! mvolatile unsigned int i;5 l! c+ F7 A H! O. @! ?7 @5 Z
1 w, t* s% g8 v" A
P1OUT ^= 0x01; // Toggle P1.0 using exclusive-OR
7 M$ o# } P6 A; j; M4 P' `4 O0 E6 _7 V
) F8 m. Y" n6 l5 D; R) G; p4 y}6 J& N ]: s* w6 Z! z
} |
|