rf_rx例程¶
1 功能概述¶
rf_rx演示了RF在PAN028b1_evb上的使用方法,主要包括:
297普通型接收
297增强型接收
蓝牙BLE白名单接收
24L01普通型接收
24L01增强型接收
2 环境准备¶
Board: PAN028b1_evb两块(另一块烧录发送程序)
Micro USB线 用于供电和查看串口打印Log
硬件接线:
将 J20 开关拔至TX侧,将P3_1与uart的TX引脚相连
3 编译和烧录¶
例程位置:pan028_dk\01_SDK\example_basic\rf\rf_rx
打开目录下keil下的Rx.uvprojx工程,编译整个代码工程。
4 演示说明¶
PAN028b1_evb接收数据,可以通过串口打印出接收的内容
5 开发说明¶
通过开放main.c 的pan_mode、Nordic_mode、BLE_mode
来实现不同协议的数据包的接收。
#define RF_297L_MODE 1
#define RF_2401_MODE 0
#define RF_BLE_MODE 0
通过RF_SetBleWhitelist和filter数组的结合可以实现对空中指定内容的蓝牙包的过滤;通过RF_SetBleLenFilter可以实现对空中指定长度的蓝牙包的过滤。具体设置方法可参考数据手册。
u8 filter[2] = {0x42, 0x25};
u8 filter[6] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66};
u8 filter[2] = {0x1e, 0xff};
RF_SetBleLenFilter(37, RF_BLE_LEN_FILTER_EQUAL);
RF_SetBleWhitelist(3, filter, 6);
另外有以下接口可以设置发送的基础参数。注意收端也要一致才能收到数据包。
RF_SetChannel(10);//设置频率为2400+10=2410M
RF_SetCrc(RF_CRC_OFF);//设置CRC验证规则
RF_SetRate(RF_DR_1Mbps); //设置速率为1M
RF_SetNoAck(TRUE);//设置自动应答的开关(增强型使用)
RF_SetAckPayload(TRUE);//设置ACK是否携带内容(增强型使用)
6 RAM/Flash资源使用情况¶
Program Size: data=49.1 xdata=128 const=55 code=5993