×
单片机 > 单片机程序设计 > 详情

MSP430切换主时钟

发布时间:2020-09-03 发布时间:
|

MSP430F149单片机有多个时钟源,上电后默认的系统主时钟是内部800KHz的DCO,如何切换为尾部晶体振荡器,需要注意的是如果切换不成功,便会使CPU失去时钟,那样会导致系统卡死,因此要不断查询,时钟失效的标志位,以下为IAR环境下程序:


#include

int main( void )

{

  unsigned char i;

  // Stop watchdog timer to prevent time out reset

  WDTCTL = WDTPW + WDTHOLD;

  P5SEL |= BIT4;     //设置P5.4为

  P5DIR |= BIT4;    

  BCSCTL1 &= ~XT2OFF;  //打开外部高频晶体振荡器

  do{   

  IFG1 &= ~OFIFG;            //先清零震荡失效标志位

  for(i=0;i<255;i++); 

  }while((IFG1 & OFIFG));  //待延时之后再查询振荡失效标志位,如果没有失效则立刻跳出

  BCSCTL2 |= SELM_2;//选择外部高频晶体振荡器

 // BCSCTL1 |=

  while(1);

  return 0;

}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈msp430f5529入门(2)----时钟配置.例程分析