PRF 2.4G Normal Trx¶
1 功能概述¶
本例程演示 PRF 2.4G 普通(Normal)工作模式下的 Tx/Rx 通信基本流程:
Tx 端周期性发送固定长度 Payload
Rx 端接收并打印 Payload,同时输出 RSSI
例程工程支持通过宏一键切换 Tx/Rx(需要两块板分别烧录 Tx 与 Rx)。
2 例程位置与工程文件¶
例程目录:
<PAN271x-DK>\01_SDK\samples\proprietary_rf\00_normal_trxKeil 工程:
keil\normal_trx.uvprojx主要代码:
src\main.c
3 环境准备¶
3.1 硬件设备¶
建议准备两套硬件做对测(Tx 一套 + Rx 一套):
PAN271x EVB 核心板与底板各 2 套(至少 2 块核心板)
JLink 仿真器(用于下载程序)
USB-TypeC 线(用于供电与查看串口 Log)
杜邦线/跳线帽(用于连接 SWD 与串口相关跳线)
3.2 硬件接线¶
对每一套板:
将 EVB 核心板插到底板上
串口(UART0)连接:
用 USB-TypeC 线,将 PC 与底板 USB->UART 口相连
用跳线帽/杜邦线将底板排针:
J8(P06 & TXD) 与J9(P05 & RXD) 分别短接例程中 UART0 引脚复用为:P0.5=TX,P0.6=RX(见
Sys_Init())
JLink(SWD)连接:
SWD_CLK → 底板 P00
SWD_DAT → 底板 P01
SWD_GND → 底板 GND
3.3 PC 软件¶
串口工具:UartAssist / SecureCRT / MobaXterm 等
串口参数:115200, 8N1
4 编译与烧录(Keil)¶
打开工程
keil\normal_trx.uvprojx选择目标工程
normal_trx编译:Build
下载:Download
说明:该工程在 Keil 的 Flash Download 配置里使用了外部烧录工具(JFlash)与 keil\settings.jflash,因此“下载”动作会调用 SDK 自带的 JFlash 执行擦除/烧录/启动。
5 使用方法(Tx/Rx 对测)¶
5.1 选择 Tx 或 Rx¶
在 src\main.c 顶部通过宏切换:
#define TX_MODE (1) // 1=Tx, 0=Rx
在 Tx 板:保持
TX_MODE=1,编译并烧录在 Rx 板:修改为
TX_MODE=0,编译并烧录
注意:Tx 与 Rx 的 RF 配置必须一致(频道、速率、地址、地址宽度、Payload 长度等)。
6 关键配置说明(RFConfig_t)¶
例程默认配置位于 src\main.c 的 gRfConfig:
WorkMode = PAN271_WORKMODE_NORMAL:普通模式Channel = 55:工作信道(Tx/Rx 必须一致)DataRate = PAN271_DR_1Mbps:速率(Tx/Rx 必须一致)TxPower = PAN271_TXPWR_11dBm:发射功率AddrWidth = PAN271_WIDTH_5BYTES:地址宽度(Tx/Rx 必须一致)TxAddr/RxAddr[pipe0]:收发地址(TxAddr 与 Rx pipe0 地址需一致)EnTxNoAck = ENABLE:不需要 ACK(若要更高可靠性,请按协议需求关闭并配套设置)TxLen/RxLen:Payload 长度例程使用 32 字节
TxBuf/RxBuf 数组空间需要是 4 的整数倍(例程已有注释)
Rx 超时相关:
RxTimeoutUs = 0:例程默认不启用接收超时若设置为非 0,可配合
rx_timeout_cb在超时时打印/重启接收等
7 串口输出示例¶
7.2 Rx 端¶
典型输出(内容会随实际 Payload 变化):
CPU @ 48000000Hz
rx len:32
00 01 02 03 04 05 06 07 ...
rssi:-45 dBm
8 常见问题排查¶
串口无打印:
检查波特率是否 115200
检查 UART0 复用引脚(P0.5/P0.6)与底板跳线是否按要求短接
确认 USB->UART 口枚举到正确的 COM 口
Rx 收不到包:
确认两块板分别烧录了 Tx 与 Rx(
TX_MODE不同)确认
Channel/DataRate/AddrWidth/TxAddr/RxAddr/TxLen/RxLen完全一致减小两板距离、避免强干扰环境;必要时调整信道
Rx 输出
crc/pid/len err:多为配置不一致或干扰导致,优先检查速率/长度/地址/信道