在进行中断编程时,涉及到多个指令,包括:DECL、ON、OFF、GLOBAL、BRAKE、RESUME等。

1、中断声明

事件和子程序通过INTERRUPT DECL ... WHEN ... DO ... 来定义。

语法:INTERRUPT DECL Prio WHEN 事件 DO 中断程序

例如:INTERRUPT DECL 19 WHEN $IN[1]==TRUE DO stop1( )

其中,中断优先级为19,事件是输入信号1为真,中断程序是stop1。

注意:中断声明是一个指令,它必须位于程序的指令部分,不允许位于声明部分。

 

2、GLOBAL(全局)

      中断只有从对其进行声明的层面起才被识别,起作用。在声明的开头加上关键字GLOBA'L就会对全局程序起作用。

语法:<GLOBAL> INTERRUPT DECL Prio WHEN 事件 DO 中断程序

如下图中的中断的有效性:

①在一个子程序中声明的中断在主程序中是未知的,不起作用。(如图中的中断 23)
②一个在声明的开头写有关键词 GLOBAL 的中断在上一层面也是已知的,起作用。(如图中的中断 2)

 

3、ON/OFF

     对中断进行了声明后必须接着将其激活,通过INTERRUPT ON/OFF来启动或关闭中断。

ON: 激活(启动)一个中断。
OFF: 取消激活(关闭)一个中断。

例如:

INTERRUPT DECL 19 WHEN $IN[1]==TRUE DO stop1( )

INTERRUPT ON 19;中断被识别并执行

……

INTERRUPT OFF 19;中断已关闭

 

4、BRAKE(制动)

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐