SI4463小结
今天push project的过程中遇到了丢包现象,带有回复信标的包丢失导致主机堵塞(没来得及写Timeout),分析了下原因,记录下来明天解决。文章权当抛砖引玉,若有不对请指出。叨扰。
由于SI4463是无线模块(废话),所以必然会有使用无线网络的通病——协议问题。SI4463由于物理特性,使用完整带多跳的协议必然会导致效率的降低,并且本次项目的要求仅仅是点对点,所以选择(……自己写的)精简的无线协议为不二之选。
(通过SI446X_READ_PACKET()得到的数据第一个统一为0XFF,所以可以用这个来作为简单的判别是否收到,而真正有意义的数据从第二个开始。但奇怪的是我使用店家的透明串口就没有0xff输出,虽然我猜测可能模块内部自行处理掉了0xff但实际的代码并没有,时间仓促有空继续研究。———>错误,收到FF是因为一个小错误,数据第一位就是发送的第一位)