C语言中的interrupt是怎么回事

今天看以程序,看到
void interrupt ( *oldhandler)(__CPPARGS);
搞不明白是怎么意思
C语言中好像没有关键字interrupt吧,interrupt有什么用,oldhandler又是什么意思?

希望有人能满足我的求知欲
预谢!!!!!

函数名称:interrupt
头文件:dos.h
函数用途:申明一个函数为中断函数,该中断函数的中断号为intr
函数原型:void interrupt(*getvect(int intr)) (void)
其它说明:以上不是一个函数,实际上是说明了中断函数的格式,比如我们要将一个函数fun()说明成中断函数,可写成: void interrupt( *fun )();

具体不知道,上网找找.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-04
二楼的说得很对。它是一个中断处理函数,与一般的函数的区别在于他被调用的方式。一般的函数是由其上一层函数调用而得到执行。而中断函数是是外围设备触发它执行的。比如说:spi接收到一字节的数据、adc采样完成、定时器发生溢出等等。一旦这些事件发生了,只要中断处于使能状态,就会触发对应的中断。
不管主程序执行到什么地方,cpu都会暂停它并立即执行这种中断处理函数。中断处理函数执行完成后又恢复之前的程序位置继续执行。
中断的产生,不是由调用引起的,是由外界触发的。就像,有人敲门,你就要去开门,这不等于你去开门了,就一定有人敲门。
另,中断函数不能被直接调用,否则会出错。
第2个回答  2006-09-20
interrupt可以看成是int定义为整型
*oldhandler 从你的程序上看来是指针
oldhangler 就是地址名

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网