请问一下大家有没有遇到,pic单片机中断入口函数编译失败?(在xc8编译器手册例程里的也不行)

qq_36356774 2019-01-06 05:02:13
void __interrupt tc_int(void)
{
if (TMR0IE && TMR0IF)
{ TMR0IF=0;
++tick_count;
return;
}
// process other interrupt sources here, if required
}
中断函数一直编译失败。注释掉编译就可以通过。这段代码来自于xc8编译器手册里的。
编译器输出的信息为:
lock.c:94:6: error: variable has incomplete type 'void'
void interrupt tc_int(void)
lock.c:94:15: error: expected ';' after top level declarator
void interrupt tc_int(void)
求前辈帮忙解答一下,非常感谢。
开发环境为 MPLAB X IDE v5.10;
编译器为:xc8 2.00版
...全文
665 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
小东工作室 2019-06-20
楼主,问题提出来,解决了也不说一下,太坑了。 我也在调试串口中断时遇到这个问题,我用的开发环境MPLAB X IDE 5.15 编译器 XC8 2.05 解决办法:把void interrupt 中断名(void) 改为 void __interrupt() 中断名(void) 下划线是两个!!! 改完就好了,大家可以试试。
  • 打赏
  • 举报
回复
ajiang12345319 2019-05-02
什么原因我也想知道,我也有这样的问题
  • 打赏
  • 举报
回复
yishumei 2019-01-08
引用 3 楼 qq_36356774 的回复:
删掉也不行,头都大了
楼主,其他网站有相似问题,有人回复说:新建的工程应该和mplab在同一个盘符下,mplab在C盘工程也要放在C盘。你可以试一下。
  • 打赏
  • 举报
回复
qq_36356774 2019-01-08
非常感谢!!!找到了。
  • 打赏
  • 举报
回复
yishumei 2019-01-08
引用 5 楼 qq_36356774 的回复:
非常谢谢!!我刚试了好像还是不行
楼主,编译器手册里面有说明,把 void __interrupt tc_int(void) 改成void __interrupt() tc_int(void)就可以了。
  • 打赏
  • 举报
回复 1
qq_36356774 2019-01-08
非常谢谢!!我刚试了好像还是不行
  • 打赏
  • 举报
回复
fly 100% 2019-01-07
可能是换了编译环境正式将warning 严格成了error 了,先吧return 删掉试试吧
  • 打赏
  • 举报
回复
qq_36356774 2019-01-07
删掉也不行,头都大了
  • 打赏
  • 举报
回复
qq_36356774 2019-01-06
我去年用的是xc8 1.21.直接用的官网的,编译一切正常。最近选的那款单片机,在 xc8 1.21里没有相关头文件。就安装了一个2.0版本。
  • 打赏
  • 举报
回复
相关推荐
发帖
单片机/工控
加入

2.6w+

社区成员

硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
申请成为版主
帖子事件
创建了帖子
2019-01-06 05:02
社区公告
暂无公告