IAR编译stm8出现的奇葩问题
近日使用iar for stm8的软件来调试stm8系列的芯片,使用timer定时器中断时发现一个问题,程序中timer定时器的中断入口如下
#pragma vector=ITC_IRQ_TIM1_OVF + 2
__interrupt void TIM1_UPD_OVF_BRK_IRQHandler(void)
{
/* 清除更新中断标记,这步不能漏掉,否则会连续进入中断程序 */
TIM1_ClearFlag(TIM1_FLAG_UPDATE);
//add your code here
}
我在
#pragma vector=ITC_IRQ_TIM1_OVF + 2 和 __interrupt void TIM1_UPD_OVF_BRK_IRQHandler(void) 之间定义了一个变量u16 min_cnt;
然后编译发现没问题,下载程序后程序就崩溃了,不能运行。将变量移出到#pragma vector=ITC_IRQ_TIM1_OVF + 2 这句话的上边,编译下载后没有问体,一个不能解释的问题,注意!