CH573的RF通信的TX_MODE_RX_DATA和RX_MODE_RX_DATA有什么不同

CH573的RF通信的TX_MODE_RX_DATA和RX_MODE_RX_DATA有什么不同

测试原始例程只有接收方执行了RX_MODE_RX_DATA,并且打印了接收到的数据,发送方不管接收方是否上电工作都会有TX_MODE_TX_FINISH回调事件,也就是说没有角色互换的接受反馈功能

想了解一下是RF双方都支持随时收发,需要程序做收发调用及超时判断,只是程序的状态机模拟角色限制划分了某时刻的角色,还是说只能做一个角色,必须即时切换角色,接口好像只有Rf_TX和Rf_RX,收发功能的RF初始化都一致,只是后续TMOS中调用的API不一致。

所以想了解一下RF通信中这些校色划分的流程,以及怎么增加通信的校验机制知道是不是通信成功了

还有两个问题

如果多个发送方通信配置一致,但是发送数据不一致,接收方是会报错还是接收到杂乱的数据?

如果接收方需要动态调整RF配置来连接多个不同配置的发送方,只需要调用RF_Shut之后重新初始化RF_Config就可以了嘛?


TX_MODE_RX_DATA:TX模式下RX收到的数据,在RF跳频例程里使用到。开了AUTO模式,自动收发后,TX发完一包会由协议栈自动进RX接受窗口,此时收到包,会进TX_MODE_RX_DATA这个case。不启用跳频也可以用,初始化代码里BASIC模式改成AUTO模式即可。

RX_MODE_RX_DATA:RX模式下RX收到的数据,在RF_PHY代码里默认用了BASIC模式,会走到RX_MODE_RX_DATA这个case里。BASIC模式里不切换收发方角色的话,TX就只能发,RX就只能收,不会出现TX模式下进RX这样的情况。

BASIC模式下要加回包,要在应用层自行添加了,比如说TX发完包,立即调用RF_SHUT接口,再切换到RX模式等待收包。超时也要自己加了,可以用TMOS系统的定时,也可以用定时器做。

底层配置相同的“多个发送方”在同一时刻一起发包的话,互为同频干扰了,丢包无法避免,接收方可能会报错CRC错误,接收方没有报错就没问题。

接收方“动态调整RF配置”也是可以的,要保证接收时刻,底层配置和发包方一致就好。


只有登录才能回复,可以选择微信账号登录