这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 为什么程序进入死循环以后就不会响应中断?

共2条 1/1 1 跳转至

为什么程序进入死循环以后就不会响应中断?

院士
2006-09-17 18:14:16     打赏
为什么程序进入死循环以后就不会响应中断?



关键词: 为什么     程序     进入     循环     以后     不会     响应     中断    

院士
2006-12-22 22:43:00     打赏
2楼
问 比如TI的例子:

#include <MSP430x14x.h>

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 50000;
TACTL = TASSEL_2 + MC_2; // SMCLK, contmode

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

// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P1OUT ^= 0x01; // Toggle P1.0
CCR0 += 50000; // Add Offset to CCR0
}

把_BIS_SR(LPM0_bits + GIE) ; 改成 while(1) 之后,就不会进入时间中断了,为什么? 1: 没有开全局中断GIE 2: 可以了,谢谢! 3: 无论怎样我都没法实现中断!

不知这是怎么一回事啊?

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]