### INT_ENABLE -- 中断总开关

类型 | 系统参数
描述 | 中断总开关。 为了避免程序没有初始化好进入中断，中断开关缺省是关闭的。 控制器内部只有一个任务在处理所有的中断信号响应，有一个固定的中断任务号，如果中断处理函数过多，并且中断处理函数的代码太长，会造成所有的中断响应变慢，甚至是中断堵塞，影响其他中断执行。 解决办法： (1)尽量减少中断的数量，很多应用都可以用循环扫描来处理。 (2)如果有一个中断处理函数特别长的话，就调用一个单独的任务来处理中断中的复杂任务，这样就不会堵塞其他的中断响应。
语法 | INT_ENABLE = switch
值 | 描述
0（缺省） | 关闭
1 | 打开
适用控制器 | 通用
例子 | 错误示范，中断堵塞 如下图，定时器中断 0 开启，IN(0)为 0，导致中断函数堵塞在第 9 行，由程序无打印结果可得此时定时器中断 1 无法运行。 正确示范 若中断需要处理大量代码，在中断内创建一个任务来处理，如下图任务 3，执行下面程序，打印出“第二个中断”，定时器中断 0 堵塞，定时器中断 1 的运行不受影响。 对应代码如下： INT_ENABLE=1 '开启中断 TIMER_START(0,1000) '定时器 0 开启，1000ms 后执行一次 TIMER_START(1,1100) '定时器 1 开启，1100ms 后执行一次 END GLOBAL SUB ONTIMER0() '中断处理函数 '创建一个新任务来处理自己的复杂任务，就不会堵塞其他中断的响应速度 RUNTASK 3, MyIntHandler() END SUB GLOBAL SUB MyIntHandler() DELAY 1000 '假设大量的堵塞性代码 WAIT UNTIL IN(0) <> 0 ?"第一个中断" END SUB GLOBAL SUB ONTIMER1() '中断处理函数 ?"第二个中断" END SUB
相关指令 | ONPOWEROFF，ONTIMERn