|
刚开始学些,有个问题总没有搞清楚,请教各位大侠。
<<<<< >>>>>>> 部分为不清楚的地方,恳请指教一下。多谢了
#include<msp430x14x.h>
/*
REGISTER: BCSCTL1
XT2OFF XTS DIVA.1 DIVA.0 XT5V Rsel.2 Rsel.1 Rsel.0
function:
XT2OFF: XT2 ON OFF
0: XT2 OSC ON
1: XT2 OSC OFF
XTS: LFXT1 WORKING MODE
0: LOW FRE (default)
1: HIGH FRE
DIVA.1,DIVA,0: ACLK DIV
00: NO DIV (default)
01: 1/2
10: 1/4
11: 1/8
XT5V : SET O
Rsel1.0,Rsel1.1,Rsel1.2: SET FRE
000: min FRE
*** *** ***
111: max FRE
******************************************************************************
REGISTER: BCSCTL2
SELM.1 SELM.0 DIVM.1 DIVM.0 SELS DIVS.1 DIVS.0 DCOR
function:
SELM.1,SELM.0: SELECT MCLK SOURCE
00: DCOCLK (default)
01: DCOCLK
10: XT3CLK MSP430F14X
11: LFXTICLK
DIVM.1,DIVM.0: SELECT MCLK DIV
00: 1:1 (default)
01: 1/2
10: 1/4
11: 1/8
SELS: SELCET SOURCE OF SMCLK
0: DCOCLK (default)
1: XT2CLK
DIVS.1,DIVS.0: Select smclk div
00: 1:1 (default)
01: 1/2
10: 1/4
11: 1/8
DCOR: SELCET DOC
0: Inside
1: Outside
*/
void int_clk()//采用msp430x149
{
unsigned char i;
BCSCTL1&=~XT2OFF; //打开XT振荡器
<<<<<<<<<<<<<<<<<<<
BCSCTL2|=SELM1+SELS; //MCLK 为8MHz,SMCLK为1MHz
//此处 MCLK 直接取自XT2振荡信号XT2CLK 分频比//为 1:1 频率为8兆。此处 SMCLK 直接取自XT2CLK 分频比为 1:1 频率应该为8兆不应该是1兆
BCSCTL2|=SELM1+SELS+DIVS_3; //MCLK 为8MHz,SMCLK为1MHz
>>>>>>>>>>>>>>>>>>>>
do
{
IFG1&=!OFIFG;
for(i=0;i<100;i++)
{
_NOP();
}
}
while((IFG1&OFIFG)!=0);
IFG1&=~OFIFG;
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
int_clk();
while(1);
}
|
|