rf_rx_tx例程¶
1 功能概述¶
rf_tx_rx 和 rf_rx_tx 例程分别运行在两块开发板上以验证不同设备上的收发切换。
297普通型收发切换
297增强型收发切换
24L01普通型收发切换
24L01增强型收发切换
2 环境准备¶
Board: PAN028b1_evb两块(Tx+Rx)
Micro USB线 用于供电和查看串口打印Log
硬件接线:
将 J20 开关拔至TX侧,将P3_1与uart的TX引脚相连
3 编译和烧录¶
例程位置:
pan028_dk\01_SDK\example_basic\rf\rf_rx_tx
pan028_dk\01_SDK\example_basic\rf\rf_tx_rx
打开目录下keil下的RF.uvprojx
工程,编译整个代码工程, 并将两个工程分别烧录到两块开发板上。
4 演示说明¶
tx_rx端主动发送一个packet
rx_tx端收到该packet
rx_tx端将packet转发给tx_rx端
tx_rx端接收到返回的packet
重复上述过程
tx_rx
端发送一串内容为00的数据。
rx_tx
端在收到数据后将数据重新转发给tx_rx
端。
5 开发说明¶
5.1 配置¶
设备的物理层以及用户层配置存放在结构体RF_BasisConfig
中,如需修改配置,直接对该结构体修改即可。
xdata RF_Config_t RF_BasisCfg =
{
{33, RF_DR_1Mbps, RF_CRC_2BYTE, RF_TXPWR_10dBm},
{RF_CHIPMODE_XN297, RF_WORKMODE_ENHANCE, RF_APL_ENABLE, RF_DPL_ENABLE, sizeof(RfTxBuf), RfTxBuf, sizeof(RfRxBuf), RfRxBuf, sizeof(RfAddr), RfAddr}
};
使用配置进行初始化
RF_BasisInit(&RF_BasisCfg);
5.2 数据读写¶
在rf_basis.c
可以找到读写相关函数的定义。
u8 RF_BasisRead(u8 *pBuf, u8 BufLen, u32 Timeout);
bool RF_BasisWrite(u8 *pBuf, u8 BufLen);
5.3 用户回调函数¶
回调函数被注册到全局配置中,在读取Ack
之后和发送Ack
之前将调用用户回调函数,可用于对Ack
内容的修改。
void Rf_readAckPkg_CB(void);
void Rf_writeAckPkg_CB(void);
6 RAM/Flash资源使用情况¶
Program Size: data=43.1 xdata=113 const=91 code=8394