1+x无线传感网—BaseRF基础知识

BasicRF 概述
TI 公司提供了基于 CC253x 芯片的 BasicRF 软件包,其包括硬件层( Hardware layer )、
硬件抽象层( Hardware Abstraction layer )、基本无线传输层( BasicRF layer )和应用
层( Application)。
BasicRF 无线通信初始化
  初始化 ZigBee 模块的硬件外设,配置 I/O 端口,设置无线通信的网络 ID 、信道、接收
和发送模块地址、安全加密等参数。
  1. 创建 basicRfCfg_t 数据结构。在 basic_rf.h 文件中可以找到 basicRfCfg_t 数据
结构的定义。
 
typedef struct {
uint16 myAddr; //本机地址,取值范围 0x0000 ~ 0xffff,作为识别本模块的地址
uint16 panId; //网络 ID,取值范围 0x0000 ~ 0xffff,要建立通信此参数必须一致
uint8 channel; //通信信道,取值范围 11~26,要建立通信此参数必须一致
uint8 ackRequest; //应答信号
#ifdef SECURITY_CCM //是否加密,预定义时取消了加密
uint8* securityKey;
uint8* securityNonce;
#endif
} basicRfCfg_t;
程序分析:首先要确定两个通信模块的 网络 ID” 通信信 致,其次设置各模 块的识别地址,即模块的地址或编号。
2. basicRfCfg_t 型结构体变量 basicRfConfig 填充部分参数。在 main 主函数中
中有如下 3 行代码:
basicRfConfig.panId = PAN_ID; //宏定义:#define PAN_ID 0x2007
basicRfConfig.channel = RF_CHANNEL; //宏定义:#define RF_CHANNEL 25
basicRfConfig.ackRequest = TRUE; //宏定义:#define TRUE 1
3. 调用 halBoardInit() 函数,对硬件外设和 I/O 端口进行初始化, halBoardInit
数在 hal_board.c 文件中。
4. 调用 halRfInit() 函数,打开射频模块,设置默认配置选项,允许自动确认和允许随
机数产生。
BasicRF 关键函数分析
1. 初始化函数 basicRfInit ,该函数的原型格式:
basicRfInit(basicRfCfg_t* pRfConfig)
参数含义:pRfConfig:basicRfCfg_t 型结构体变量。
2. 发送函数 basicRfSendPacket ,该函数原型格式:
basicRfSendPacket(uint16 destAddr, uint8* pPayload, uint8 length),各参数含义如下:
destAddr:发送的目标地址,即接收模块的地址。
pPayload:指向发送缓冲区的地址,该地址的内容是将要发送的数据。
length:发送数据长度,单位是字节。
3. 接收函数 basicRfReceive ,该函数原型格式:
 
basicRfReceive(uint8* pRxData, uint8 len, int16* pRssi),如参数含义如下:
pRxData:接收数据缓冲区。
189
190
len:接收数据长度。
pRssi:说明无线信号强度,它与模块的发送功率以及天线的增益有关。
 
 
发布了9 篇原创文章 · 获赞 4 · 访问量 223

猜你喜欢

转载自blog.csdn.net/weixin_44206126/article/details/104356940