打印
[Zigbee]

ZigBee协调器和终端通信

[复制链接]
13794|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
八层楼|  楼主 | 2020-8-5 16:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

本文主要记录了协调器和终端通信,完成LED灯的变化,具体为:协调器轮询接收终端发的数据,终端开不开发送都可以,协调器一定要开,终端才会收到。

#if defined(ZDO_COORDINATOR) //协调器收到"D1"后,返回"D1"给终端,让终端Led1也闪烁
    SampleApp_SendPeriodicMessage();
#endif

即:以上代码,在通信时终端开不开都可以,协调器一定要开。

ZigBee主要流程如下:

1、执行main()函数;

2、main()函数调用 osal_init_system();           //初始化操作系统

3、初始化操作系统中调用  osalInitTasks(); //初始化系统任务

4、初始化系统任务中定义 tasksEvents 存放任务ID的缓冲区,(uint16 * tasksEvents )

5、初始化系统任务中定义 taskID ,标示一个任务,高优先级对应的taskID反而低,(uint8  taskID )

6、初始化系统任务中调用 SampleApp_Init( taskID )   //用户创建任务

7、创建任务中分配任务ID,// SampleApp_TaskID = taskID;   //osal分配的任务ID随着用户添加任务的增多而改变

8、初始化操作系统完成。回到main()函数。

9、main()函数调用osal_start_system(); // No Return from here 执行操作系统,进去后不会返回

10、扫描事件,得到优先级高的任务ID,tasksEvents[idx]  ,idx=优先级最高的taskID.

11、 (tasksArr[idx])( idx, events );//通过指针调用任务处理函数,关键。tasksArr[idx]是一个数组,里面存放了一个函数SampleApp_ProcessEvent(idx, events)。

12、执行SampleApp_ProcessEvent ( uint8 task_id, uint16 events ) //用户应用任务的事件处理函数。

13、判断事件为接收事件,

// Received when a messages is received (OTA) for this endpoint
        case AF_INCOMING_MSG_CMD://接收数据事件,调用函数AF_DataRequest()接收数据
          SampleApp_MessageMSGCB( MSGpkt );//调用回调函数对收到的数据进行处理

14、执行

//接收数据,参数为接收到的数据
void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )

15、LED灯变化,

16、调用SampleApp_SendPeriodicMessage()发送数据到终端。

17、继续扫描任务,运行OS。


使用特权

评论回复
评论
cp19045 2020-12-16 15:09 回复TA
点赞 

相关帖子

沙发
ihafd| | 2020-8-11 15:45 | 只看该作者
写得好,赞。

使用特权

评论回复
板凳
wiba| | 2020-9-2 12:46 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
地板
zljiu| | 2020-9-2 12:46 | 只看该作者
步骤很详细

使用特权

评论回复
5
coshi| | 2020-9-2 12:46 | 只看该作者
官网上有相关代码吗

使用特权

评论回复
6
aoyi| | 2020-9-2 12:47 | 只看该作者
官网代码都是跑系统的 我看不太明白

使用特权

评论回复
7
drer| | 2020-9-2 12:47 | 只看该作者
楼主能附一下相关代码吗

使用特权

评论回复
8
610u| | 2020-10-31 22:26 | 只看该作者
官网上有相关代码吗

使用特权

评论回复
9
610u| | 2020-10-31 22:28 | 只看该作者
相关代码哪里可以找到呢?

使用特权

评论回复
10
jiangyongabc| | 2020-12-16 20:55 | 只看该作者
有完整例程嘛?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

3926

帖子

2

粉丝