打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
为什么中断函数不声明也可以
用C写中断函数时,为什么不声明也可以用

我也正在学习使用中断函数,他可以在和主函数完全不同的一个.c文件中,而且也无需在头文件或主函数所在.c文件中声明。只需在工程中加载此文件即可。好像系统查看关键字“interrupt X”就能知道这个是个中断处理函数。
CPU每执行一行程序都会访问中断,看是否有中断请求。所以不需要声明。只要中断开了,有了中断请求,自动会响应中断,进入中断函数,无需事先声明。

顾名思义,中断函数,只有中断发生时才执行的函数嘛,当然不需要调用了。
中断函数由中断控制寄存器进行控制管理,在程序中,不用申明、不能调用。中断函数不是有中断号嘛,那个就是执行中断函数的入口,C语言程序没有感觉,汇编程序就必须知道这个入口的地地址的。

单片机的每个中断都相当是一个特殊的开关。当你的程序里面允许某个中断其作用,那么一旦产生中断信号,单片机就会由硬件作用,将程序直接指向这个中断的入口(向量)从这里执行指令(执行完以后会再回到终端产生前的程序处)。

每个中断向量仅仅数个字节,不足以安排程序。一般是在这里按一个跳转指令,跳转到中断程序处。

这些对于学习过汇编语言的人来说,是清清楚楚的。由于C语言不直接接触这一块,往往是不太了解。

中断服务函数ISR不被任何函数调用,ISR和main可以看作是并行发生的。这下明白为什么不用声明了吧。因为没有人也不能有人调用它。系统查看关键字“interrupt X”就能知道这个是个中断处理函数。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python __name__ == ‘__main__’详细解释(27)
【高手指点】怎样用C语言去编写访问外部ROM.RAM的程序
C程序的出口函数及入口函数
Java怎样实现重载一个方法?Java开发
程序运行流程——链接、装载及执行
DSP调试总结(转) ? Algorithm Home
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服