只开全局中断不进入休眠

2019-03-24 15:37发布

#include  <msp430x41x.h>

void main(void)
{
  WDTCTL = WDT_MDLY_32;                     // Set to ~32ms Interval Timer
  IE1 |= WDTIE;                             // Enable WDT interrupt
  P6DIR |= 0x04;                            // Set P6.2 to output direction

  _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt}

// Watchdog Timer interrupt service routine
#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
{
  P6OUT ^= 0x04;                            // Toggle P6.2 using exclusive-OR
}

以上例程,现在只想开全局中断,不想进入LPM0,程序要如何改动呢。
直接改成_EINT(),不管用的。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
cat3902982
1楼-- · 2019-03-24 22:48
< _BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt}

直接把这句屏蔽掉不可以吗?
wstt
2楼-- · 2019-03-25 00:44
 精彩回答 2  元偷偷看……
luoddy520
3楼-- · 2019-03-25 04:46

还得自己试验啊。

_EINT();是可以用的,只不过要在后面加一句while(1)

要不然程序就直接结束了。

cat3902982
4楼-- · 2019-03-25 10:28
整出来就OK了!

一周热门 更多>

相关问题

    相关文章