CC2530 Note 1:( ProcessEvent, MSGpkt, MessageMSGCB)

本文介绍了CC2530在Zigbee应用中如何处理事件,包括System event和自定义Event。重点讲解了事件处理函数XXXApp_ProcessEvent,以及如何根据MSGpkt的类型调用不同的回调函数,如XXXApp_MessageMSGCB和XXXApp_SendTheMessage。同时,提到了设备状态改变、按键事件和自定义事件的处理。文章还提及了一些关键细节,如Coordinator的短地址和SimpleDescriptionFormat_t中的AppNumIn(Out)Clusters含义。
摘要由CSDN通过智能技术生成

搞了半天CC2530  GenericApp 的总结:


最概况的话是

事件(Events) 触发 用户函数XXXApp_ProcessEvent() 
判断event 类型
1. System event: 接收MSGpkt 

  判断 MSGpkt-> hdr.event: case : XXXApp_MessageMSGCB或者xxx_SendTheMessage() 

2. 自定义Event: 自定义函数func()

具体追溯:

1. 系统运行函数:

void osal_run_system( void )
{
  uint8 idx = 0;
  ....
  do {
    if (tasksEvents[idx])  // 检测触发事件
    {
      break;
    }
  } while (++idx < tasksCnt);         

  if (idx < tasksCnt)
  {
    uint16 events;
    halIntState_t intState;
    HAL_ENTER_CRITICAL_SECTION(intState);    //关闭中断
    events = tasksEvents[idx];
    tasksEvents[idx] = 0;  // Clear the Events for this task.
    HAL_EXIT_CRITICAL_SECTION(intState);

    activeTaskID = idx;
    events = (tasksArr[idx])( idx, events );    
 // 执行用户应用, 用户的idx在taskArry[ ]对应的是XXXApp_Process_Event(id
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值