硬件平台: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是什么含义呢?手册中未找到说明。
No related topics |
No more topics |
你好,
请问具体应是什么,接收双方都需要互相切换状态吗?还是需要一方切换状态就可以,如果双方都要切换状态可以在发送接收切换时加些延迟或者配置ESB_TxSettleSet(),ESB_RxSettleSet(),如果只需要一方切换状态可以使用ACK接口来回传数据,另外你配置接收模式的函数用的ESB_PTX_MODE。
FLD_RF_IRQ_TX每次发送成功会产生中断,请参考SDK doc文件夹的Application Note: Timing Sequence for Enhanced ShockBurst Mode
感谢回复,接收那里敲错了,具体应用就是手柄向主机发送配对或控制命令,主机会有应答,有时主机也需要主动上报一些状态。
关于模式切换接口调用想明确下
发送数据?
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();
ESB_TxSettleSet();ESB_RxSettleSet();函数为最开始初始化的配置函数,可以参考示例代码试着改大一点,不用切换状态的时候调用。
同时你发送时失败可以检查先中断函数中,进入了什么异常中断导致的失败。
丢包问题原因可以锁定在模式切换这里了,请问下这个应用笔记里关于中断note部分的介绍,PRX可以配置为持续接收或者指定时间接收,这个是通过哪个接口来实现的呢,另外是不是可以提供下收发模式切换的demo呢?