无线模块经常有人在校验过程中会失败,又是什么原因呢?造成校验失败的大部分原因都是因为我们在校验过程中数据发生了丢失和错误,说得简单点,校验的过程是收发两端共同完成的过程,发送一个数据包到串口,然后由发送端将数据包发送到接收端的指定位置,接收端再到指定的位置检验字节,同时,再将接收到的数据按规定方式计算出接收端校验字节,如果接收端校验字节与接收到的发送端校验字节相等,则说明数据包是有效的,否则就应该放弃该数据包。这也就是我们平时校验过程中出现失败的主要原因。
无线模块校验的方法最常用的是奇偶校验和循环冗余码校验两次,在串行数据传输过程中,由于干扰可能引起的信息错误,出现“误码”,我们在传输过程中发现的错误叫做检码,发出错误后,进行修正叫检错。除去这两种常用的校验方法,还有异或校验、sum等等,其中以奇偶校验方法最为简单粗暴,但是这种方式有一个缺点,它只能发现错误,不能纠正错误,所以一旦发现误码的时候,不能进行检错,只能将数据包重新发送。而循环冗余码校验方法则有很好的自动纠错功能,但也相对的比奇偶校验方法复杂的多。所以我们进行校验的时候,选择什么算法还是要看自己怎么去抉择。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
无线模块
+关注
关注
12文章
689浏览量
50410
发布评论请先 登录
相关推荐
热点推荐
调试ddrinit的时候,ddrinit在trap时出现输出乱序的情况,这是怎么回事呢?
我在调试ddrinit的时候,ddrinit在trap时出现输出乱序的情况,这是怎么回事呢?
发表于 03-30 07:28
芯海1拖4金属壳烧录器按下烧录按键时提示固件升级失败
有原厂的FAE吗?我这芯海1拖4金属壳烧录器按下烧录按键时提示固件升级失败。升级后重启,下载烧录文件后烧录数量和校验和显示正常,但按下烧录键后提示固件升级失败,断电重启,烧录数量和校验
发表于 01-23 10:33
瀚海微SD NAND/TF卡数据损坏与校验错误(含CRC错误、数据比对失败)问题解析
数据损坏与校验错误是瀚海微SD NAND/TF卡在数据存储与传输过程中的关键故障,除常见的CRC错误外,数据比对失败(读取数据与写入数据不一致)是核心表现形式,直接影响数据准确性,在工业控制、高清存储等场景中可能引发严重后果。以下从故障表现、成因及解决方案展开详细说明。
解决SD NAND CRC校验失败的综合指南:瀚海微存储产品的可靠性保障
高品质存储解决方案的提供者,瀚海微一直致力于帮助客户解决此类技术难题,确保产品可靠性。 CRC错误的核心含义与瀚海微的质量理念 CRC校验失败本质上是数据完整性保护机制在发挥作用。当控制器从SD NAND读取或写入数据时,会对每个数据块进行
无功补偿控制器显示功率因数0.99,可还是被罚款了,这到底是怎么回事?
用户说无功补偿控制器显示功率因数有0.99,可还是被罚款了,具体是怎么回事呢?通过视频通话看看能不能找到问题并解决。 视频接通后看到在功率因数控制器侧此时显示功率因数值有0.99,同时还注意到了并未
rt thread studio 创建的K210工程编译后很多警告是怎么回事?
用rt thread studio创建的 K210工程,编译后很多警告,这是怎么回事?有人知道吗?
发表于 10-13 06:29
请问RT-FOTA固件校验通过但是解压缩失败是什么原因?
芯片:STM32F407ZGT6
FOTA流程:
从SD卡中读取固件(压缩过的RBL)校验通过后开始解压缩搬运到Flash的0x8020000地址
已经确认读取的固件大小是正确的但是到解压缩这一步就失败了。
代码中位置
跟进去
这是仿真时候的值,如何确定原因
发表于 09-26 07:41
STM32标准库在Keil5移植rtthread nano后无法显示oled内容是怎么回事?
单独把OLED_Update()函数独立出来就无法执行到,屏幕黑屏怎么回事呢?
或者有没有大佬有在Keil5 STM32标准库上移植rtthread系统又使用到oled屏幕显示的示例代码,可以参考看看吗?? ?
发表于 09-22 08:28
micropython 文件同步失败是怎么回事?
您好!
在自己的stm32f407vet6开发板上,构建的rt-thread添加了micropython模块。
下载运行执行正常。执行将文件下载到开发板或者点击“文件同步”时,总提示
“所连接设备可能未处于repl状态或者不是一个micropython设备”。
这是怎么回事
发表于 09-17 07:28
在SDK:Slavefifo5bit的范例中想加多一个线程去做其他的功能,用了threadcreate之后usb设备就无法初始化了是怎么回事?
你好,我在SDK:Slavefifo5bit的范例中想要加多一个线程去供我做其他的功能,可是我是用了threadcreate之后我的usb设备就无法初始化了,请问是怎么回事呢??
发表于 05-22 07:25
无线模块校验失败是怎么回事呢
评论