c语言子程序中可以有中断吗?
2个回答
展开全部
中断处理函数,是不可以被调用的,只能由硬件激活(CPU响应然后转入到特定地址开始执行,处理完之后,返回断点,继续执行)。
因此,中断处理函数,相对于普通函数来说,开始执行的时刻,是随机的。你在写普通函数时,不能预测,在普通函数执行到哪一行,外部设备恰好就产生了一个事件...
在程序执行时,可能在你的某个普通子程序(C中统一称为函数)执行期间,因为硬件激活了中断,CPU自动转到中断函数插进来执行了,形成执行顺序上的嵌套。但是,你在编写普通函数的时候,是无法预期的,所以,不可能把中断处理语句写到普通函数中。
在操作系统开启了保护模式后,应用程序不能直接处理中断,而是要由设备驱动来完成。
在单片机之类的编程中,几乎是裸机编程,所以,可以按具体的C版本,写出自己的中断函数。
中断函数与普通函数之间,可以通过全程变量(标识,计数...),建立起各种配合。
因此,中断处理函数,相对于普通函数来说,开始执行的时刻,是随机的。你在写普通函数时,不能预测,在普通函数执行到哪一行,外部设备恰好就产生了一个事件...
在程序执行时,可能在你的某个普通子程序(C中统一称为函数)执行期间,因为硬件激活了中断,CPU自动转到中断函数插进来执行了,形成执行顺序上的嵌套。但是,你在编写普通函数的时候,是无法预期的,所以,不可能把中断处理语句写到普通函数中。
在操作系统开启了保护模式后,应用程序不能直接处理中断,而是要由设备驱动来完成。
在单片机之类的编程中,几乎是裸机编程,所以,可以按具体的C版本,写出自己的中断函数。
中断函数与普通函数之间,可以通过全程变量(标识,计数...),建立起各种配合。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询