Z-Stack 学习 -- 调用自定义事件

本文详细介绍了在Z-Stack中调用自定义事件的流程,包括事件处理函数的输入参数解析及自定义事件实验。通过在SampleTemperatureSensor应用中定义ZQW_UART_PRINTF事件,并在初始化时启动定时器触发该事件,实现了事件的周期性调用。
摘要由CSDN通过智能技术生成

    总结一下调用事件的流程,做一个调用事件的实验。

一、调用事件流程

     上篇我们说了Z-Stack处理事件的流程,这个流程可以总结成以下几步:

     1. 在操作系统运行的函数中,下列程序对编号为 idx 的任务的 events 事件进行处理

    activeTaskID = idx;
    events = (tasksArr[idx])( idx, events );
    activeTaskID = TASK_NO_TASK;

     2. 进入 tasksArr[idx] 数组,将第 idx 个元素作为需要调用的事件处理函数:

const pTaskEventHandlerFn tasksArr[] = {
  macEventLoop,
  nwk_event_loop,
  Hal_ProcessEvent,
#if defined( MT_TASK )
  MT_ProcessEvent,
#endif
  APS_event_loop,
#if defined ( ZIGBEE_FRAGMENTATION )
  APSF_ProcessEvent,
#endif
  ZDApp_event_loop,
#if defined ( ZIGBEE_FREQ_AGILITY ) || defined ( ZIGBEE_PANID_CONFLICT )
  ZDNwkMgr_event_loop,
#endif
  zcl_event_loop,
  zclSampleTemperatureSensor_event_loop
};

     3. 以用户自定义的一个函数为例(上段程序的最后一各函数),进入 uint16 zcl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值