




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
BasicRF---无线点灯实验一、实验原理二、重点代码解析三、数据发送标题四、数据接收一、实验原理——功能描述
实验效果:两块节点模块通信,一个模块作发射,另外一个模块接收,发射模块按下按键S1(或S2),改变接收模块LED1(或LED2)的亮灭的状态。实现无线点灯功能。一、实验原理——
BasicRF
例程的软件设计框图Hardwarelayer:放在最底,是实现数据传输的基础。HardwareAbstractionlayer:提供了一种接口来访问TIMER,GPIO,UART,ADC等。这些接口都通过相应的函数进行实现。BasicRFlayer:为双向无线传输提供一种简单的协议。Applicationlayer:是用户应用层,它相当于用户使用BasicRF层和HAL的接口,也就是说我们通过在Applicationlayer就可以使用到封装好的BasicRF和HAL的函数。四、BasicRF
的工作过程——启动1.创建一个
basicRfCfg_t
的数据结构,并初始化其中的成员,在basic_rf.h代码中可以找到typedefstruct
{uint16myAddr;//16位的短地址(就是节点的地址)
uint16panId;//节点的PANID
uint8channel;//RF通道(必须在11-26之间)
uint8ackRequest;//目标确认就置true
#ifdefSECURITY_CCM//是否加密,预定义里取消了加密118
uint8*securityKey;
uint8*securityNonce;
#endif}basicRfCfg_t;
2.调用
basicRfInit()函数进行协议的初始化,在
basic_rf.c
代码中可以找到uint8basicRfInit(basicRfCfg_t*pRfConfig)/***函数功能:对BasicRF的数据结构初始化,设置模块的传输通道,短地址,PADID。**/
三、BasicRF
的工作过程——发送3.
创建一个
buffer,把
payload
放入其中。
Payload
最大为
103
个字节
4.
调用
basicRfSendPacket()函数发送,并查看其返回值。在
basic_rf.c
中可以找到uint8basicRfSendPacket(uint16destAddr,uint8*pPayload,uint8length)/****destAddr目的短地址pPayload指向发送缓冲区的指针length发送数据长度函数功能:给目的短地址发送指定长度的数据,发送成功刚返回SUCCESS,失败则返回FAILED******/
二、BasicRF
的工作过程——接收5.上层通过
basicRfPacketIsReady()函数来检查是否收到一个新数据包
在basic_rf.c
中可以找到6.调用
basicRfReceive()函数,把收到的数据复制到
buffer
中。代码可以在
basic_rf.c
中可以找到uint8basicRfPacketIsReady(void)/*函数功能:检查模块是否已经可以接收下一个数据,如果准备好刚返回TRUE*/
uint8basicRfReceive(uint8*pRxData
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论