最近调试RF子设备与Lora基站的通讯,发现一个现象,就是有时候mcu回给RF模块的ACK 数据的crc 校验和是错误的 。
现象:
比如send_ack 正常为:AF 00 AB 01 00 72 其中72 是crc8 校验和。
但有时候会出现:AF 00 AB 01 00 F2 的现象 。
分析:1.检测 send_ack ()函数的数据类型是否一致
2. RF模块在发送数据的时候可能初始化不稳定,第一帧或最后一帧会发生错误 。
解决:1. 检查了数据类型保持一致。问题依旧。
2. 在send 函数中 发送前后 插入一个 0x00 或0xFF ,问题解决 。
据了解 ,在L416 ,或 5250等芯片方案下均有此现象 。