__bis_SR_register(SCG0) ; // 关闭FLL控制回路
UCSCTL0 = 0x0000 ; // 设置DCOx, MODx
UCSCTL1 = DCORSEL_6 ; // 设置DCO振荡范围
UCSCTL2 = FLLD__1 + 799; // Fdco = ( FLL_FACTOR + 1)×FLLRef = (649 + 1) * 32768 = 21.2992MHz
__bic_SR_register(SCG0) ; // 打开FLL控制回路
__delay_cycles(1024000) ;
do
{
UCSCTL7 &=~(XT2OFFG+XT1LFOFFG+DCOFFG) ; // 清除 XT2,XT1,DCO 错误标志
SFRIFG1 &=~OFIFG ;
}while(SFRIFG1&OFIFG) ; // 检测振荡器错误标志
还有个问题,配置时钟25MHz时
设置UCSCTL2 = FLLD__1 + 799 ,一直停在while这里,这个有例程吗
Susan Yang:
有的,请点击下面的链接
https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_MSP430_node