搭楼同问。我这个是m430f2619实验板的自带程序,外部晶振16MHz。这个函数是不是设置MCLK接外部晶振,外部晶振是不是接XT2的。
void Init_CLK( void )
{
int i;
BCSCTL3 |= XT2S_2; // XT2频率范围设置
BCSCTL1 &= ~XT2OFF; // 打开XT2振荡器
BCSCTL1 |= DIVA_1; // ACLK/2
do
{
IFG1 &= ~OFIFG; // 清振荡器失效标志
BCSCTL3 &= ~XT2OF; // 清XT2失效标志
for( i = 0x47FF; i > 0; i-- ); // 等待XT2频率稳定
}while (IFG1 & OFIFG); // 外部时钟源正常起动了吗?
BCSCTL2 |= SELM_2 + SELS + DIVS_2 ; // 设置MCLK、SMCLK为XT2
}
如果是设置为16MHz的话。这个延时误差大不大。
#define CPU_F ((double)16000000) //频率
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
msp430的时钟设置实在不是很明白,请高手指点下。谢谢。