登录|立即注册|使用QQ帐号登录
论坛 > 24小时必答区
发帖|
看6596|回5|收藏
楼主 ID:387130 只看他
2018-8-17 09:48
中断函数为什么不用声明就直接使用了,是不是和void main() 一个地位了

沙发 ID:98526 只看他
2018-8-17 10:40
因为中断向量表里面已经声明了
板凳 ID:279667 只看他
2018-8-17 11:14
如果是STM32,那么中断函数的名称在启动文件中已经做了定义,在使用时,复制相应的中断函数名称,设置NVIC级别,然后实现中断内的操作就行了,中断发生的时候NVIC会自动把CPU拉到中断中去执行任务。
地板 ID:387272 只看他
2018-8-17 15:29
void init(); 是函数声明,和面的init();是调用该函数。
5# ID:385318 只看他
2018-8-26 09:54
中断函数的名称在启动文件中已经做了定义
6# ID:387733 只看他
2018-8-26 12:16
函数声明也不是必须的,如果被调用的函数在前,调用的函数在后,编译时系统编译被调用函数时已有记录,后面调用时可以定位。反过来调用的函数在前,系统编译时不知道该函数,无法定位,所以必须在前面声明。中断函数除了中断向量外,不会被调用,系统只需根据函数后面的中断向量号,最后把定位填入该中断的中断向量表就可以了。

51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版