10_ZigBee网络通信的实现_添加目录.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录 10_ZigBee网络通信的实现 1 一、控制台的基本结构 1 二、第一个命令’h’帮助 3 三、广播 6 四、点对点通信 8 五、远程 13 五、总结 20 10_ZigBee网络通信的实现 ----(转载请注明出处 774910349@)Everhuai写于 2011-12-24 上一次笔记中主要讲了一些原理性的东西,现在将对我的代码进行解读。 一、控制台的基本结构 在代码中我单独为控制台增加了两个文件Console.c和Console.h。 #ifndef CONSOLE_H #define CONSOLE_H #ifdef __cplusplus extern C { #endif #define USER_DEBUG 1 //调试 #undef USER_DEBUG //函数指针原型 typedef void (*console_f)(void); struct console_config{ console_f console; //入口函数指针 console_f menu; //打印菜单 console_f broadcast; //广播函数指针 console_f search; //搜索节点 console_f cmd; //通过无线发送命令给节点进行操作的函数指针 console_f serialCB; //提供给串口 //这样就能与应用层共用缓冲 uint8 *Console_TxBuf; //缓冲区指针 uint8 *Console_TxLen; //数据量指针 }; extern struct console_config console; extern unsigned short strlen_c(char* buf); #ifdef __cplusplus } #endif #endif /* CONSOLE_H */ 我使用结构console_config对控制台进行封装,其中函数指针broadcast、search、cmd是有应用层提供的。使用指针Console_TxBuf和Console_TxLen主要为了能和原来的代码接口,因为我主要是基于无线串口透明传输进行更改的。 struct console_config console = { .console = console_entry, //入口函数 .menu = menu, //打印菜单 /**********************由应用层提供***************************/ .broadcast = NULL, //广播函数指针 .search = NULL, //搜索节点,函数有应用层提供 .cmd = NULL, //通过无线发送命令给节点进行操作的函数指针,函数又应用层提供 /**********************由应用层提供**************************/ .serialCB = console_entry, //提供给串口 .Console_TxBuf = NULL, //没有指定数据缓冲区 .Console_TxLen = NULL, //没有数据 }; 应用层填充如下: //填充接口函数 console.broadcast = LEDSApp_Broadcast; //广播 console.search = LEDSApp_EndSearch; //用于搜索节点的函数指针 console.cmd = LEDSApp_EndCmd; //用于远程 //控制台初始化 console.Console_TxBuf = SerialApp_TxBuf; console.Console_TxLen = SerialApp_TxLen; 这些接口函数放到应用层去实现主要是考虑到其中要用

文档评论(0)

ffpg + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档