Topic

FAQ
Login Register
RF模块-ESB模式收发一体通信
cy
Dec 12, 2022 16:10

/

A

/A

硬件平台:TLSR8278

2.4G-SDK:V3.4.2

问题一

收发一体通信,有时会发送失败,麻烦给看下数据流程是否正确呢?

上电默认流程

1.配置射频参数

2.配置为接收模式,ESB_ModeSet(ESB_PTX_MODE);ESB_PRXTrig();

发送数据流程

1. ESB_ModeSet(ESB_PTX_MODE)

2. ESB_FlushTx()

3.ESB_WriteTxPayload(),主机和从机都是通过调用此接口发送数据。

4.ESB_PTXTrig()

5.发送成功或失败,配置为接收模式,ESB_ModeSet(ESB_PTX_MODE);ESB_PRXTrig();

接收数据流程

1.接收数据中断,调用ESB_ReadRxPaylaod();ESB_FlushRx();


问题二

中断标志FLD_RF_IRQ_TX是什么含义呢?手册中未找到说明。


4 replies
TL_Soyo Dec 14, 2022 16:05
0
/A

你好,

  请问具体应是什么,接收双方都需要互相切换状态吗?还是需要一方切换状态就可以,如果双方都要切换状态可以在发送接收切换时加些延迟或者配置ESB_TxSettleSet(),ESB_RxSettleSet(),如果只需要一方切换状态可以使用ACK接口来回传数据,另外你配置接收模式的函数用的ESB_PTX_MODE。

  FLD_RF_IRQ_TX每次发送成功会产生中断,请参考SDK doc文件夹的Application Note: Timing Sequence for Enhanced ShockBurst Mode

cy [Author] Dec 15, 2022 10:56
0
/A


感谢回复,接收那里敲错了,具体应用就是手柄向主机发送配对或控制命令,主机会有应答,有时主机也需要主动上报一些状态。

关于模式切换接口调用想明确下

发送数据?

1.ESB_ModeSet(ESB_MODE_PTX);

2.ESB_TxSettleSet();ESB_RxSettleSet();

3.ESB_WriteTxPayload();

配置接收模式?

1.ESB_ModeSet(ESB_MODE_PRX);

2.ESB_TxSettleSet();ESB_RxSettleSet();

TL_Soyo Dec 15, 2022 13:26
0
/A

ESB_TxSettleSet();ESB_RxSettleSet();函数为最开始初始化的配置函数,可以参考示例代码试着改大一点,不用切换状态的时候调用。
同时你发送时失败可以检查先中断函数中,进入了什么异常中断导致的失败。


cy [Author] Dec 16, 2022 09:30
0
/A



丢包问题原因可以锁定在模式切换这里了,请问下这个应用笔记里关于中断note部分的介绍,PRX可以配置为持续接收或者指定时间接收,这个是通过哪个接口来实现的呢,另外是不是可以提供下收发模式切换的demo呢?

Related topics
No related topics
Author's other topics
No more topics