加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15267534595
公司新闻
在SMART如何运用中断功能
发布时间: 2023-11-30 23:46 更新时间: 2024-05-13 09:10

01

1.中断功能概述


中断,就是终止当前正在运行的程序,去执行为响应特定信号而编写的中断服务程序,执行完毕后再返回原来终止的程序并继续执行。


02

 CPU支持的中断事件及优先级使用


CPU支持的中断事件类型可分为三大类,通信中断、IO中断和定时中断


1. 通信中断,是CPU在自由口模式下通讯端口在接收信息完成,发送信息完成,接收一个字符可以产生的中断事件,利用接收和发送中断可以简化程序对通信的控制;


2. IO中断,包括上升/下降沿中断、高速计数器中断和脉冲串输出中断。


CPU可以为输入通道I0.0至I0.3,及可选信号板I7.0 和I7.1生成输入上升和/或下降沿中断;


高速计数器,可在当前值等于预设值、方向改变或外部复位时生成中断;


脉冲串输出,在指定的脉冲数完成输出时可生成中断。


3. 定时中断,包括定时中断和定时器T32/T96 中断。


定时中断的循环时间为特殊寄存器SMB34和SMB35决定,时间为1 ms到255 ms;


定时器中断是T32和T96定时器到时中断。


通常,可以使用定时中断来控制模拟量输入的采样或定期执行PID回路。


为便于识别和使用系统为每个中断事件都分配了一个事件号,CPU中规定的中断优先级顺序和事件号对应说明如表格所示


图片


每类中断中不同的中断事件处理时也有不同的优先权和处理原则:

多个中断事件同时发生时,根据优先级组以及组内优先权来确定首先处理哪一个中断事件;


优先级相同时,CPU按照先来先服务的原则处理中断;


任何时刻CPU只能执行一个用户中断程序,一旦一个中断程序开始执行,它要一直执行到完成,即使更高优先级的中断事件发生,也不能中断正在执行的中断程序,正在处理中断时发生的其他中断会进行排队处理;


每个优先级组分别设定排序队列,队列深度等上限如表格所示。

图片


03

 中断指令


中断指令包括中断允许禁止、中断事件关联等指令:

ENI: 中断启用指令,全局性启用对所有连接的中断事件的处理。


DISI: 中断禁止指令,全局性禁止对所有中断事件的处理。


RETI: 从中断有条件返回指令,可用于根据前面的程序逻辑的条件从中断返回。


ATCH: 中断连接指令,将中断事件EVNT与中断例程编号INT相关联,并启用中断事件。


DTCH: 中断分离指令,解除中断事件EVNT与所有中断例程的关联,并禁用中断事件。


CLR_EVNT: 清除中断事件指令,从中断队列中移除所有类型为EVNT的中断事件。



联系方式

  • 电  话:18126392341
  • 联系人:梁涛
  • 手  机:15267534595
  • 微  信:15267534595