1、LORA通信在函数LORA被初始化的时候就已经处于接收状态
即开机即能接收数据
2、LORA数据的接收以及发送都通过FIFO数据线
3、LORA的收发同时进行会产生FIFO数据线的通信干扰
4、LORA_Rx在FIFO中有数据的时候才会取出数据,FIFO没有数据会直接跳过
当LORA在发送数据的时候此时正往FIFO数据线中写入数据,此时另一台主机正向本主机发送信息,此时可以想到FIFO数据线左边正在往里存入要发送的数据,右边又要接收别的主机发送的数据,此时通信功能就会产生紊乱
简而言之:
即:主机在LORA接收信息的时候就不要发送信息,接收完一组信息后再发送,发送完后再等待下一组信息传过来被接收后再发送新的回信
处理方式:
1.接收数据为主的一方即接收消息的数组是空
就跳过 LORA_Tx, 待接收的消息数组不为空就处理接收到的消息,再调用LORA_Tx发送消息并清空接收消息的数组
,整个期间一直调用LORA_Rx
2.发送数据为主的一方即发送的数据是空
就跳过LORA_Tx,待发送数据的数组不为空就发送数据,并清空发送数据的数组,整个期间一直调用LORA_Rx