登录注册
论坛
一粒金砂(中级)
37
1
中断服务函数: void external0_isr() interrupt 0
void external0_isr()我知道是个函数,但为何这个函数后面直接写了 interrupt 0,学C语言时没见过这种写法啊。这个函数的作用和用法我是了解的,但就是不明白为何会这么写,只见过typedef这样写的;
扫一扫,分享给好友
版主
6040
202
既然是中断函数,而且有很多种中断,为了标识这个中断函数处理哪个中断,就用interrupt n这种方式来表达,n是一个数字,0为外部中断。
lcofjp 发表于 2023-12-21 11:21 既然是中断函数,而且有很多种中断,为了标识这个中断函数处理哪个中断,就用interrupt n这种方式来表达,n ...
这个我知道,但是这种函数后面直接写interrupt n没见C语言书里有这样写的,我理解的不应该是:函数{ interrupt 0}这种吗,函数都有个中括号;或者是调用时直接 函数(interrupt 0)这种格式的吗
器铭123 发表于 2023-12-21 11:24 这个我知道,但是这种函数后面直接写interrupt n没见C语言书里有这样写的,我理解的不应该是:函数{  ...
这是C51的扩展写法,不是C标准写法,所以你在C语言的书上看不到这种写法,这个不是函数参数,所以不写在括号里,中断函数是没有参数的。扩展写法的语法就是这么规定的,你记住就行,不要强行往C标准写法上拉扯。
中断函数只有定义,不存在你主动调用的情况,在发生中断的时候这个函数会自动被调用。 所以定义的时候肯定是有函数体的
五彩晶圆(高级)
7641
18
lcofjp 发表于 2023-12-21 12:34 中断函数只有定义,不存在你主动调用的情况,在发生中断的时候这个函数会自动被调用。 所以定义的时候肯定 ...
学习了!
默认摸鱼,再摸鱼。2022、9、28
19
2
这种写法 编译器会自动识别成中断服务函数的
4935
12
吾妻思萌 发表于 2023-12-21 17:41 书上有这个解释 我刚学也问过这个问题
书上是什么解释呢
发表回复 回帖后跳转到最后一页
EEWorld Datasheet 技术支持
查看 »