IARAVR中断服务程序问题
扫描二维码
随时随地手机看文章
今天调试程序遇见了一个IARAVR中断服务程序的问题:this kind of pragma may not be used... 花了一个小时调试发现的问题差点令我崩溃。
以定时计数器0中断服务程序为例:
#pragma vector=TIMER0_OVF_vect
_interrupt void Timer0(void)
{
。。。。。
。。。。。。。
}
调了很长时间也没发现错误,当参见官方实例,一不小心发现interrupt前要加两个“下划线”。我勒个去。。。
#pragma vector=TIMER0_OVF_vect
__interrupt void Timer0(void)
{
。。。。。
。。。。。。。
}
对比上面两段,特别是放在两个程序上,虽然看得出有些差别,但下划线的长短一般会认为不同软件的显示差异所致,所以认为只是同一根下划线。。。