当前文档版本为 v1.1.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

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端。

  1. 用Type-C数据线供电

  2. 用跳线帽连接电源跳线P9。

  3. 将电源切换开关S1切换至“USB”端。

  4. 使用串口模块连接到UART调试引脚P8。

  5. 分别打开txrx工程,编译后下载到两个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].