※This article is based on EmberZnet SDK 6.7.5.0 and EFR32MG Series
control 参数是:事件控制结构体名
emberEventControlSetActive(control)
如要激活上面建的事件,就可以emberEventControlSetActive(customEventControl),注意这个函数只是激活事件但是没有指定事件下次执行的的时间,所以他会以最快的周期执行事件
emberEventControlSetInactive(control)
将已激活的事件置回到未激活的状态,那么事件将不再执行,直到再次激活该事件
emberEventControlGetActive(control)
获取事件的状态,知道事件是否激活
emberEventControlSetDelayMS(control, delay)
该函数也用于激活事件但是它有指定多少ms以后执行事件
emberEventControlSetDelayMS(customEventControl,100) //表示100ms后执行事件
emberEventControlSetDelayQS(control, delay)
该函数同上一个函数类似,只是时间单位为1/4s
emberEventControlSetDelayQS(customEventControl,100) //表示25s后执行事件
emberEventControlSetDelayMinutes(control, delay)
该函数同上一个函数类似,只是时间单位为分钟
emberEventControlSetDelayMinutes(customEventControl,100) //表示100分钟后执行事件
emberEventControlGetRemainingMS(control)
该函数用于获取事件的执行还需要等待的时间
一个时间每100ms执行一次,如下:
首先在初始化中激活该事件,通常初始化在emberAfMainInitCallback中进行: void emberAfMainInitCallback(void) { ... 省略 ... //激活事件 emberEventControlSetActive(customEventControl); } 在事件函数中处理如下: void customEventFunction(void) { ... 省略 ... //设置下次执行的时间为100ms以后,需要注意的是如果在这里你不设置下次执行的时间那么它会以最快的周期执行 emberEventControlSetDelayMS(customEventControl,100); }
&ref(): File not found: "ZigBee.png" at page "++EmberZnet++Event";
Comment: