15.4.22 中断指令
15.4.22.1 IRegister
说明: 注册中断,确定中断是否可以单次触发、是否可调试(单步、单步暂停下触发中断),以及中断号、触发信号、触发类型。一个触发源只能绑定一个中断函数。
定义:
IRegister([\SINGLE,][\DEBUG,] int_num, signal, trigger_type, trap_function);
//[]内为可选项
-
int_num:数据类型:中断号变量,用作中断的标识。 -
signal:寄存器信号/DI 信号。 -
trigger_type:触发方式。-
DI 信号触发方式:
-
\Posflank:上升沿触发 -
\Negflank:下降沿触发 -
\Highlevel:高电平触发 -
\Lowlevel:低电平触发 -
注意:高低电平触发会持续触发中断
-
寄存器(int\bool\bit\byte)触发方式:0 代表低电平,非 0 代表高电平。
-
-
trap_function:中断函数名。 -
\SINGLE:单次触发,可选项。 -
\DEBUG:可调试,可选项,添加此参数后可在单步、单步暂停状态触发中断。
示例:
IRegister \SINGLE, \DEBUG, intnum0, DI1_0, \Posflank, "trapfun1";
//注册中断,当DI 信号DI1_0 发生上升沿变化时,执行trapfun1 函数,触发一次后不再响应此中断;此中断可在单步和单步暂停状态触发;intnum0 为此中断的标识符,用于IEnable、IDisable、GetTrapData 指令
15.4.22.2 IEnable
说明: 激活被 IDisable 禁用的中断,前瞻触发(IRegister 后默认是激活的)。
定义:
IEnable(int_num);
-
int_num:数据类型:中断号变量, 用作中断的标识
示例:
IEnable(intnum0);
// 激活 intnum0 对应的中断,激活后可被绑定的信源触发