中断服务程序大家都是怎么用的

Posted

tags:

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

系统手册中说:中断是“越短越好”,请问大家一般如何使用中断服务程序的?

我用得最多的中断里面的程序就是把高速计数器的当前值读出来。就一条MOVDHCOVD0=m0.0(需要时用于通知主扫描,数据已经更新)有用过其他的中断程序是PLS0。用于启动或停止或修改当前脉冲参数还有就是DTCH(ATCH)用于开放和关闭中断。通常是通讯时切换。都很短。第一个例子,把数据读出来了再说。至于如何运算是其他程序的事情了。不要在中断里面进行任何计算。因为这个计算是供主扫描其他用途。一般这个用途不必这么紧急地输出。第二个例子,当我决定连接这个中断的时候我就先预料到,发生中断的时候要干什么。然后把脉冲的形态先完全定义好,是启动的就写使能位,写当前周期,写脉冲数等等。是停止的就写(关闭)使能位。一切都把路铺好后,等着中断随时的到来。所以中断一来,就只执行一条指令就行了。通讯的事情比较烦琐,不好一下子解释。 参考技术A 中断执行的时间越短就越安全,因为我们对设备运行的普遍判断逻辑都是放在主程序和子程序里面的,中断程序里面只有对特定事件的响应。另外如果一个中断执行时间过长也有可能造成中断队列的溢出。中断普遍用在通讯程序中,由中断优先级也可以看出,通讯事件的优先级最高。I/O中断可以响应高速脉冲,高速计数器,用在位置控制如编码器,电机控制。定时中断应用在对时间准确性要求比较高的时候,这时定时中断用来替代定时器的作用,如信号采样时。个人觉得中断可用可不用时不使用,必须用时才使用。 参考技术B 我在接收过程中后台已经准备好两个中断。一个是定时中断,时间到了之后就宣布超时,并停止接收触发下一个发送。另一个是接收完成中断,用于通知主扫描信息已经更新,并断开定时中断。你的程序是如何的?

以上是关于中断服务程序大家都是怎么用的的主要内容,如果未能解决你的问题,请参考以下文章

ucos系统进不了中断怎么回事

我这个程序怎么进不了中断,求解?

STM32 USART接收中断程序问题

STM32 USART接收中断程序问题

微信小程序会话服务器只有php方式吗

Nios下按键中断