# <center >动态PAYLOAD通信</center >

### 一、简介

正常通信中，TX发射数据的实际长度需要与RX接收通道设置的长度一致(RX_PW_Px，x为0,1,2,3,4,5)。如果实际应用中，TX端每次发射的数据长度不定，则需要使用动态paylaod功能，该功能只能在增强模式下使用。

### 二、条件说明

    SPI类型：4线spi
    RF速率：2M/1M(具体速率选择通过rf.h中宏定义DATA_RATE设置)
    CE模式:  软件CE
    数据长度：不定长
    频点：2478Mhz
    功率：9dbm
### 三、接口(移植)实现

1、根据实际使用的MCU实现rf.c中延时函数delay_ms()和delay_100us();

2、根据实际使用情况修改rf.c中SPI_init函数

![spi_init](img\spi_init.png)

修改rf.h中RF相关IO口的定义。

<img src="img\io_set.png" alt="io_set" style="zoom:150%;" />

### 四、应用范例

实现动态paylaod功能需要设置rf.h中宏定义EN_DYNPLOAD为1

![dyn_set](img\dyn_set.png)

TX端：发射端循环发送1-8字节的数据

![tx](img\tx.png)

RX端：在接收函数RF_DumpRxData()内，先通过R_RX_PL_WID命令读取接收的数据长度，然后再将数据读出。

![rx](img\rx.png)



### 五、参考文档

《XN297L产品说明书_v4.8-ZH.pdf》

《02_XN297L 1Mbps软件设计和调试参考_V1p3.pdf》