仪器社区

msp430在启动振动器后为啥要清除振荡器失效标志?谢谢!

嘻嘻77777 2012-11-05
unsignedinti;WDTCTL=WDTPW+WDTHOLD;//停止WDTP5DIR|=0x10;     //P5.4输出P5SEL=0x10;//P5.4用作MCLK输出BCSCTL1&=~XT2OFF;//XT2有效do{  IFG1&=~OFIFG;    //清除振荡... unsigned int i; WDTCTL = WDTPW + WDTHOLD; // 停止WDT P5DIR |= 0x10;       // P5.4 输出 P5SEL = 0x10; // P5.4 用作MCLK输出 BCSCTL1&=~XT2OFF; // XT2有效 do {   IFG1&=~OFIFG;      // 清除振荡器失效标志   For(i=0xFF; i>0; i=--); // 稳定时间   } while(IFG1&OFIFG)!=0); // 如果振荡器失效标志存在 BCSCTL2|=SELM1;    // MCLK=XT2 for(;;) ;
评论
全部评论
心里那根弦懂么
不需要自己清除采样中断标志,MSP430的ADC模块具有16个采样通道,中断使能寄存器的16位分别用于使能和关闭对应通道的中断功能.中断标志寄存器ADC12IFG的16位分别对应16个采样通道,当对应通道采样结束后,采样结果存于相应的ADC12MEMx中后,相应的中断标志位被置位,待读取采样结果ADFC12MEMx后,采样中断标志位被硬件自动清零!因此,在发生采样中断后,必须读取采样结果(同时自动清除采样中断标志),然后才能继续进行采样。
13 0 2016-01-07 0条评论 回复
2529405604rc
振荡器若失效,硬件会自动置OFIFG为1,直至振荡器启动成功。
不清零,你怎么知道振荡器是否启动成功?
11 0 2012-11-06 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论