03_normal_with_ack 普通型带自动应答收发例程¶
1. 简介¶
本例程演示PAN211x普通型带ACK通信功能。
在上一个02_enhance
例程中,我们演示了PAN211x的增强型双向通信功能。PAN211x也支持普通型带ACK的双向通信,也称为normal_m1型模式。
时序与增强型相同:TX首先发射数据,然后芯片自动切换至接收状态,等待接收ACK数据包。RX首先处于接收,收到数据后会自动切换到发射状态,发射ACK数据包。Tx发射之后收到ACK数据包可视为增强型模式的一次通信成功。
与增强型不同的地方在于,帧格式与普通型相同,因此不支持Dynamic Payload, PID等功能。
2. 应用代码说明¶
2.1. 普通型带Ack 参数说明与中断处理¶
通过与增强型例程的对比,可以看到部分参数需要调整。
WorkMode
设置为普通型(必选)
TxNoAck
设置为false(必选)
更多参数的说明请见《PAN211x FIFO和帧格式使用指南》
2.3. TxNoAck功能¶
需要注意,在增强型的帧格式中,有一个TxNoAck
位,用于控制是否需要ACK。在普通型带Ack通信中,TxNoAck
参数设置为false时,帧格式中并不真实存在TxNoAck
位,但是芯片会自动处理ACK的发送和接收。
3. 例程演示¶
例程位置:
01_SDK/example/03_normal_with_ack
修改参数:
pan211_.h
中的EASY_RF
宏定义为0时,可通过修改gRfConfig
结构体来配置参数。
pan211_.h
中的EASY_RF
宏定义为1时,可使用配置导出工具替换对应工程的./src/easy_reg.h
文件来配置参数。
使用步骤:
找到两块PAN211x开发板,分别作为Tx端和Rx端。
用Type-C数据线供电
用跳线帽连接电源跳线P9。
将电源切换开关S1切换至“USB”端。
使用串口模块连接到UART调试引脚P8。
分别打开
tx
和rx
工程,编译后下载到两个PAN211x开发板上。
TX端:
CPU @ 64000000Hz
SPI-3LINE
>>>RF_IT_TX_IRQ[0x80].1
<<<RF_IT_RX_IRQ[0x01].
RSSI=-27dBm
>>>RF_IT_TX_IRQ[0x80].2
<<<RF_IT_RX_IRQ[0x01].
RSSI=-26dBm
>>>RF_IT_TX_IRQ[0x80].3
<<<RF_IT_RX_IRQ[0x01].
RSSI=-26dBm
RX端:
CPU @ 64000000Hz
SPI-3LINE
cnt 1
+RF_RXMODE=01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20
RSSI=-26dBm
>>>RF_IT_TX_IRQ[0x80].
cnt 2
+RF_RXMODE=01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20
RSSI=-23dBm
>>>RF_IT_TX_IRQ[0x80].
cnt 3
+RF_RXMODE=01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20
RSSI=-22dBm
>>>RF_IT_TX_IRQ[0x80].