TI中文支持网
TI专业的中文技术问题搜集分享网站

msp430x1xx系列进入中断后对于SR中SCG0位的设置?

      在一本参考书上看到一段程序中的中断处理函数是这样写的:

     #pragma vector=PORT1_VECTOR

__interrupt void P1_ISR(void)

{

  _BIC_SR(SCG0);            //如果从LPM3唤醒,恢复时钟准确性

  …..

}

上面  _BIC_SR(SCG0)的作用是什么?其给出的解释,没看懂。关于进入中断后的模式,《User's Guide》给出的说法是The CPUOFF, SCG1, and OSCOFF bits are automatically reset,可见对于位SCG0是没有操作的,这是为什么呢?不是进入中断即退出低功耗模式进入活动模式吗?为什么不把SCG0一起复位呢?如果SCG0不和其他控制位一起复位,那么中断后进入的活动模式和正常的活动模式是不一样的吗?如果我设置MCLK或SMCLK来源于DCO,进入中断后由于SCG0没有自动复位,会有什么样的影响,需要手动复位吗?请教下各位,谢谢啦

Peter_Zheng:

第一个是SCCG0这个是错的,应该是SCG0

_BIS_SR(SCG0) 将SCG0置1.

时钟根据进入的模式有差异。具体可参考使用手册。

另外进入低功耗模式应该是如下:

LPM0      _BIS_SR(CPUOFF)

LPM1     _BIS_SR(SCG0+CPUOFF)

….

LPM3    _BIS_SR(SCG1+SCG0+CPUOFF)

Young Hu:

不需要设置_BIC_SR(SCG0)的,进入中断后所有的寄存器都会清零。。

赞(0)
未经允许不得转载:TI中文支持网 » msp430x1xx系列进入中断后对于SR中SCG0位的设置?
分享到: 更多 (0)