无线模块经常有人在校验过程中会失败,又是什么原因呢?造成校验失败的大部分原因都是因为我们在校验过程中数据发生了丢失和错误,说得简单点,校验的过程是收发两端共同完成的过程,发送一个数据包到串口,然后由发送端将数据包发送到接收端的指定位置,接收端再到指定的位置检验字节,同时,再将接收到的数据按规定方式计算出接收端校验字节,如果接收端校验字节与接收到的发送端校验字节相等,则说明数据包是有效的,否则就应该放弃该数据包。这也就是我们平时校验过程中出现失败的主要原因。
无线模块校验的方法最常用的是奇偶校验和循环冗余码校验两次,在串行数据传输过程中,由于干扰可能引起的信息错误,出现“误码”,我们在传输过程中发现的错误叫做检码,发出错误后,进行修正叫检错。除去这两种常用的校验方法,还有异或校验、sum等等,其中以奇偶校验方法最为简单粗暴,但是这种方式有一个缺点,它只能发现错误,不能纠正错误,所以一旦发现误码的时候,不能进行检错,只能将数据包重新发送。而循环冗余码校验方法则有很好的自动纠错功能,但也相对的比奇偶校验方法复杂的多。所以我们进行校验的时候,选择什么算法还是要看自己怎么去抉择。