定义全局变量FrequencyCounter用于Timer0_A3中断程序中计数,很简单的一个,但是出现了问题!
unsigned int FrequencyCounter;
main()
{
...
...
}
#pragma vector=TIMER0_A1_VECTOR
__interrupt void Timer0_A1(void)
{
switch(TAIV)
{
default : break;
case 2: break;
case 4: break;
case 10:
{
FrequencyCounter ++;
break;
}
}
}
奇怪的是,每次执行完FrequencyCounter ++;FrequencyCounter的值都是1,调试后发现每次进入中断的时候FrequencyCounter被
清零了,这是为什么呢?
FrequencyCounter我定义的是全局变量啊。
引用: 原帖由 零晨 于 2012-1-10 11:04 发表 定义全局变量FrequencyCounter用于Timer0_A3中断程序中计数,很简单的一个,但是出现了问题! unsigned int FrequencyCounter; main(){ ... ...} #pragma vector=TIMER0_A1_VECTOR__inte ...
看看是不是需要volatile