查看文章 |
zigbee软件设计
2008-07-15 11:33
软件结构:
1.代码开始进行初始化。包括协议栈的初始化,硬件接口的初始化,以及外围器件(LED,LCD,BUTTON)的初始化。这些都有专用的API函数可以调用。
2.获取MAC层和PIB这两个结构体的句柄。通过这两个句柄可以对MAC层的一些参数和PIB(PAN information base)的一些参数进行读取和更改。
3.初始化结点的状态和系统信息。
4.设置PanID并且设置Co的addr。
5.设置其他结点为允许加入状态。使能接收。
6.选择射频的频道。如果用beacon,那么可以设置beacon的有效载荷。
7.设置完Mlme层的结构后开始发起网络。
8.其他设备加入网络,此处涉及到中断处理。
9.开始发送数据。
中断处理:
jennic的API有两种中断模式:队列中断和回调函数中断。
1.队列中断。有三个队列:MLME队列;MCPS队列;AHI队列;通过一个规定的函数检测三个队列中有无中断发生作出相应的处理。中断函数自己编写。
2.回调函数。回调函数就是系统会自动调用的函数,把自己编写的中断函数要先注册。每个中断类型的注册函数都可以在API文档中查到。
想象用户可能会出现的问题:
1.收发数据可能不是很远,能发送接收但是距离不超过30米。可能原因:信道的选择,选择一个干净的信道;功率的设置;天线的原因,陶瓷天线为全向天线,最佳工作位置是垂直地面;遮挡物,看看有没有遮挡物遮挡屏蔽。
2.MAC地址被擦除了。解决办法:发送相应的MAC地址烧写工具。
3.关于code::block软件的使用问题。
编译错误:a.代码本身有错误 b.工程没有放置在指定的文件夹 c.没有加入相应的库文件 d.其他未知原因如SDK的版本问题
没有生成bin文件: a.在code::block软件中更改设置 b.重新安装code::block
4.程序写入问题
不能写入及不能检验正确:a.检查线和com口,且是否上电;b.是否按照编程模式操作 c.芯片是否完好更换芯片测试
5.关于其外围器件的一些问题: 串口 SPI AD DA TIMER等 博客文章汇总:
如何科学饮水 供应WIFI(提供 wince linux下驱动) 合肥市政府原副秘书长受贿240万被判13年 百度C2C支付平台定名百付宝 域名地址昨曝光 LHC 的加速过程 什么是百度蜘蛛?百度爬虫是什么? 百度确定推C2C支付平台 电子商务大战一触即发 云时代来临之“云计算”的四个显著特点 云计算时代来临 云计算到底指什么 随着安全云计算的热潮 您准备好了吗 中国会面临金融战争的灭顶之灾吗? 不断增长的外汇储备,是中国政府的心病 [出售]WIFI模块,WIFI方案VT6656+RF,USB接口,MINIPCI接口 日本“第一钻石王老五”--青山光司 日本“第一钻石王老五”--青山光司 Power Management in the Linux Driver Model(2.6.14)(转) WDM(Windows Driver Model)学习(转) |
最近读者: