zigbee代码,请各位大神帮忙解释下

zigbee代码,请各位大神帮忙解释下,第1张

你首先应该弄明白ZigBee协议栈里按键的工作原理,我猜你用的是TI的ZStack吧。如果硬件跟TI的Demo不同,还需要修改HAL里面的配置文件。总之先确认下是不是对应的IO口,其次弄清楚按键的工作流程。这样才算懂怎么控制按键以及利用按键做不同的应用。

zigbee协议栈使用的是zstack版本,该协议栈的整体功能有点类似于 *** 作系统。下面以SimpleApp例程为例,对协议栈的组网流程进
行描述。
协议栈是用C语言实现的,由于C语言的入口都是main函数,因此需要找到main函数,下图为协议栈各层列表 (主要包括应用层、硬件层、MAC层、网络层、安全层、服务层等),TI公司的编程比较规范,文件的命名就意味着相关的功能。可以看到,ZMain文件下面有Mainc文件,而该文件就是整个协议栈的入口地址, 打开ZMainc文件,可以看到函数intmain( void);该函数就是整个协议栈最开始的入口。在main函数里面可以看到语句:
// Initialize the operating system
osal init system():
该语句的实际含义是初始化zigbeet协议栈。
进入函数osal init system(的内部(具体方法:使鼠标停留在osal init system上,并且单击右键,在d出的选项中选择"go todefinition of osal init syster" )定位到下列语句:
// Initialize the system tasks
osallnitTasks0;
从这个函数的名字就可以知道它是用于初始化系统任务的。在zigbee协议栈中, 一个非常重要而且贯穿协议栈生命周期的概念就是任 务,也就是说协议栈的信息处理利数据传输等过程都是通过任务来实现的,即如果某个节点需要传输一个数据包, 它会通过调用相关任务通知 *** 作系统需要发送数据包。
既然任务员个非常重要的概念,那么就很有必要进入allnitTasks()函数内部,看看这个函数究竞是初始化那些任务!!

你买的webee应该也是zstack协议栈吧,目前的大部分zigbee协议开发都很简单,只需要做应用层的相关编程就可以了,至于网络层,很多都是不开源的
你提的这个问题,在初学阶段是很多人都考虑和担心过的问题,其实zigbee无线传感器网络属于Ad_hoc(移动自组织网络)中的一种,所以zigbee网络层的路由协议具有自组织特性,路由协议会自动进行路由的形成与维护。所以在你假设的情况下,C会自动发起路由请求,寻找到A的路径,直到最后经过B或者其他的路由节点与A进行通信,至于路由怎么实现这个功能,你可以查找下相关的文献
希望对你有帮助,欢迎追问!!

物联网应用技术考二级证需要的教材是啥?物联网应用技术应该要学习课程:计算机应用基础、计算机组装调试技术、计算机网络英语、程序设计基础、网页设计基础、数字电路、微机原理与接口技术、计算机网络、物联网技术基础、信息安全技术等;
核心课程:计算机网络技术、路由与交换技术、移动通信技术、无线传感器技术、嵌入式技术、智能家居技术、入侵检测与防御技术、网络数据库、Linux *** 作系统、Windows Server *** 作系统等;
拓展课程:智能蔬菜大棚技术、信息安全法规、应用文写作、网络营销、数据恢复技术、语音网络技术、无线网络技术、Ipv6技术等。

物联网最为明显的特征是网络智慧化,通过信息化的手段实现物物相连,提高不同行业的自动化管理水平,减少人为干预,从而极大程度地提升效率,同时降低人工带来的不稳定性。因此,物联网在许多行业应用中将发挥巨大的潜力。
例如未来通过感应设备将电网、铁路、桥梁、隧道、公路、建筑、供水系统、大坝、油气管道等数据信息化,并通过网络传输方式实现信息的采集及管理,将物联网与现有的互联网整合起来,实现人类社会与物理系统的整合。

不知道你是在裸机上延时,还是带zstack协议栈上的延时;如果是裸机上的延时可以通过设置添加一定数量的(“nop_();”)实现;带ztsack协议栈的话,直接调用函数microwait_ms()函数就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/dianzi/10227732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存