是在调试一个射频接收板时发现的,
m1_cmd_buf中实时的移入接收的数据,
每移进来一个bit,就会计算CRC是否吻合,吻合就留下,不符就整个数组左移一次并把下一个bit移进来,再计算。
m1_cmd_buf[9]、m1_cmd_buf[10]是默认的CRC16的位置。
然后在调试的时候发现有错误的数据进来,与设计的功能严重不符,后来就查,结果发现这些随机数据,竟然他自己吻合了CRC16.
整个m1_cmd_buf数据中的数据,都是一个bit一个bit的随机进来的.
后来,就加长了帧的标识头,又试了很久,没再发现这个问题了。
|
|