协调器,pc端与ZigBee通信是怎么通信的

1个回答
展开全部
摘要 zigbee 协调器与终端的通信机制是, 终端一定时间轮询问协调器 是否有该终端的数据,协调器发现有,就会将数据发给该终端,
咨询记录 · 回答于2022-05-21
协调器,pc端与ZigBee通信是怎么通信的
zigbee 协调器与终端的通信机制是, 终端一定时间轮询问协调器 是否有该终端的数据,协调器发现有,就会将数据发给该终端,
协调器在哪里 处理的这个 数据请求在MAC层处理
协调器轮询接收终端发的数据,终端开不开发送都可以,协调器一定要开,终端才会收到。#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
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。
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消