DCO时钟配置问题

2019-08-03 17:35发布

简单的程序:功能是配置DCO频率,在用定时中断,在中断中反转P1.6口,让LED闪烁,依此大概判断DCO是否成功配置
WDTCTL = WDTPW + WDTHOLD;
  char i;
  if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)
  {
  while(1);// 挂起
  }
  BCSCTL1 = CALBC1_1MHZ;
  DCOCTL = CALDCO_1MHZ;// 设置DCO模式
  BCSCTL3 |= LFXT1S_2+XT2S_1;
  while(IFG1 & OFIFG)
  {
    IFG1 &= ~OFIFG; //清除OSCFault 标志
    for(i= 0xff; i>0; i--); //延时,待稳定.
  }
  //__bis_SR_register(SCG1 + SCG0); 关闭DCO
  BCSCTL2 |= SELM_0 + DIVM_0+SELS+DIVS_0;
  P1DIR=0x41;
  P1OUT=0x41;
   TACCTL0=CCIE;
   TAR=0;
   TACCR0=1000;
   TACTL=TASSEL_2+ID_0+MC_1;


  _EINT();


之后修改程序中的时钟频率配置:
if (CALBC1_12MHZ ==0xFF || CALDCO_12MHZ == 0xFF)
  {
  while(1);// 挂起
  }
  BCSCTL1 = CALBC1_12MHZ;
  DCOCTL = CALDCO_12MHZ;// 设置DCO模式


但是发现闪烁频率没变化
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。