C语言中的interrupt是怎么回事

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中的interrupt是怎么回事相关的知识,希望对你有一定的参考价值。

二楼的说得很对。它是一个中断处理函数,与一般的函数的区别在于他被调用的方式。一般的函数是由其上一层函数调用而得到执行。而中断函数是是外围设备触发它执行的。比如说:spi接收到一字节的数据、adc采样完成、定时器发生溢出等等。一旦这些事件发生了,只要中断处于使能状态,就会触发对应的中断。
不管主程序执行到什么地方,cpu都会暂停它并立即执行这种中断处理函数。中断处理函数执行完成后又恢复之前的程序位置继续执行。
中断的产生,不是由调用引起的,是由外界触发的。就像,有人敲门,你就要去开门,这不等于你去开门了,就一定有人敲门。
另,中断函数不能被直接调用,否则会出错。
参考技术A 函数名称:interrupt
头文件:dos.h
函数用途:申明一个函数为中断函数,该中断函数的中断号为intr
函数原型:void
interrupt(*getvect(int
intr))
(void)
其它说明:以上不是一个函数,实际上是说明了中断函数的格式,比如我们要将一个函数fun()说明成中断函数,可写成:
void
interrupt(
*fun
)();
具体不知道,上网找找.

以上是关于C语言中的interrupt是怎么回事的主要内容,如果未能解决你的问题,请参考以下文章

linux中执行c语言程序,段错误是怎么回事啊??谢谢!!!

c语言的堆栈是怎么回事!!

单片机C语言中,中断子程序后面为啥要加interrupt这个单词?

c语言中graphic.h库函数不能用,怎么回事

C语言编程中经常会出现未定义的是怎么回事??

C语言 UDP中revcfrom怎么从阻塞中跳出?