- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在SampleApp中利用SendPeriodicMessage实现终端节点定时向汇聚节点发送消息
在SampleApp中利用SendPeriodicMessage实现终端节点定时向汇聚节点发送消息
在SampleApp中,SendPeriodicMessage是所有节点的定时消息,即在(一个周期+随机时间)的时间间隔内,所有工作节点向外广播一个消息。在星型网络中,我们可以修改这个定时消息,实现终端节点向汇聚节点定时发送一个消息,这个消息当然可以包含有传感器的信息。下面以发送一个字符串“Hello ZB”为例来说明这个过程。
由于原来这个消息的发送目的地址是广播地址,所以要将其广播地址改为汇聚节点的地址。在一个网络形成之后,汇聚节点的地址为0x0000,这个地址是固定的,所以在初始化函数SampleApp_Init中找到这个目的地址并改成0x0000:
//默认为0xFFFF,即广播地址,这里改成了0x000
SampleApp_Periodic_DstAddr.addr.shortAddr = 0x0000;//源程序为0xFFFF,即广播地址
2、单单改了这个地址还不够,需要将地址模式也要修改,就在上述语句的上面有这么一条语句:
// Broadcast to everyone ---------地址模式
SampleApp_Periodic_DstAddr.addrMode = (afAddrMode_t)AddrBroadcast;
很明显,地址模式为广播地址模式,我们将其修改为16位短地址模式,程序如下:
SampleApp_Periodic_DstAddr.addrMode= (afAddrMode_t)Addr16Bit;// 原为AddrBroadcast;
完成上述两步之后,就实现了所有节点都能向汇聚节点发送消息,当然也包括汇聚节点所以我们要将汇聚节点去掉。在函数SampleApp_ProcessEvent中,有如下一段程序:
//如果是三种状态之一则按正常间隔启动定时器
if ( (SampleApp_NwkState == DEV_ZB_COORD)//协调器,即汇聚节点
|| (SampleApp_NwkState == DEV_ROUTER)//路由器
|| (SampleApp_NwkState == DEV_END_DEVICE) )//终端节点
{
// Start sending the periodic message in a regular interval.
//按正常间隔启动一个定时器
osal_start_timerEx( SampleApp_TaskID,
SAMPLEAPP_SEND_PERIODIC_MSG_EVT,
SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT );
}
else
{
//设备不在网络中的不做任何处理
// Device is no longer in the network
}
break;
我们只需要终端节点向汇聚节点发消息,故把if条件中的协调器和路由器两个选项去掉,如下所示:
if ( SampleApp_NwkState == DEV_END_DEVICE)//如果是终端节点,则按正常间隔启动定时器
{
// Start sending the periodic message in a regular interval.
//按正常间隔启动一个定时器
osal_start_timerEx( SampleApp_TaskID,
SAMPLEAPP_SEND_PERIODIC_MSG_EVT,
SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT );
}
else
{
//设备不在网络中的不做任何处理
// Device is no longer in the network
}
这样,就实现了终端节点定时消息的产生,因为它每次都调用osal_start_
您可能关注的文档
- 咖啡奶泡制作及拉花教学.doc
- 品质部结构陶瓷检测流程.doc
- 周概容版概率课后习题答案.doc
- 哈工大考研初试复试问题经典回答.doc
- 哈弗曼压缩算法(附源程序).doc
- 哲学智慧与时代精神知识梳理.doc
- 哲学第三次作业.doc
- 唯物辩证法的联系观练习.doc
- 哈苏120相机手动系列镜头大全.doc
- 商业方法的“实际应用”判断规则的理解.doc
- 中国饺子皮机项目投资可行性研究报告.docx
- 2024年人民版九年级化学下册月考试卷 .docx
- 2025年新科版九年级地理上册阶段测试试卷 .docx
- 垃圾分类项目融资渠道探索.docx
- 晴纶增白剂-KCB行业深度研究报告.docx
- 2024_2025学年高中语文第1单元感悟自然3巩乃斯的马教学案粤教版必修3.doc
- 2024_2025学年高中生物第四章生物的变异第一节生物变异的来源第1课时基因重组与基因突变学案浙科版必修2.doc
- 中国仿真眉液项目投资可行性研究报告.docx
- 2024_2025版新教材高中化学第4章第1节第2课时元素周期表教案新人教版必修第一册.doc
- 《仓储服务管理》课件.ppt
文档评论(0)