无线模块经常有人在校验过程中会失败,又是什么原因呢?造成校验失败的大部分原因都是因为我们在校验过程中数据发生了丢失和错误,说得简单点,校验的过程是收发两端共同完成的过程,发送一个数据包到串口,然后由发送端将数据包发送到接收端的指定位置,接收端再到指定的位置检验字节,同时,再将接收到的数据按规定方式计算出接收端校验字节,如果接收端校验字节与接收到的发送端校验字节相等,则说明数据包是有效的,否则就应该放弃该数据包。这也就是我们平时校验过程中出现失败的主要原因。
无线模块校验的方法最常用的是奇偶校验和循环冗余码校验两次,在串行数据传输过程中,由于干扰可能引起的信息错误,出现“误码”,我们在传输过程中发现的错误叫做检码,发出错误后,进行修正叫检错。除去这两种常用的校验方法,还有异或校验、sum等等,其中以奇偶校验方法最为简单粗暴,但是这种方式有一个缺点,它只能发现错误,不能纠正错误,所以一旦发现误码的时候,不能进行检错,只能将数据包重新发送。而循环冗余码校验方法则有很好的自动纠错功能,但也相对的比奇偶校验方法复杂的多。所以我们进行校验的时候,选择什么算法还是要看自己怎么去抉择。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
无线模块
+关注
关注
12文章
688浏览量
50403
发布评论请先 登录
相关推荐
热点推荐
请问RT-FOTA固件校验通过但是解压缩失败是什么原因?
芯片:STM32F407ZGT6
FOTA流程:
从SD卡中读取固件(压缩过的RBL)校验通过后开始解压缩搬运到Flash的0x8020000地址
已经确认读取的固件大小是正确的但是到解压缩这一步就失败了。
代码中位置
跟进去
这是仿真时候的值,如何确定
发表于 09-26 07:41
SConscript结果与rtconfig.h中宏定义相反,是什么原因呢?
当我在rtconfig.h中把宏定义注释时,添加了构建
当我取消宏定义注释时,反而排除了构建
SConscript结果与rtconfig.h中宏定义相反,是什么原因呢
发表于 09-23 06:01
littlefs组件lfs_config.h和dfs_lfs.c文件没有开源声明,是出于什么原因呢?
littlefs组件lfs_config.h和dfs_lfs.c文件没有开源声明,是出于什么原因呢
发表于 09-22 06:49
线程超时函数中 assert 失败是什么原因导致的?
定位后,发现在调用栈中经常会同时出现两个中断,一个串口中断和systick 中断,就挺奇怪的,这是定时器中断被别的中断打断了吗? rt_sched_lock 的作用似乎就是关闭全局中断吧。。。 请问可能是什么原因? 谢谢!
rt-thread 版本: 5.2.1
发表于 09-09 06:56
ai_cube训练模型最后部署失败是什么原因?
ai_cube训练模型最后部署失败是什么原因?文件保存路径里也没有中文
查看AICube/AI_Cube.log,看看报什么错?
发表于 07-30 08:15
网络光纤出问题一般是什么原因导致的呢
网络光纤故障的成因复杂多样,涉及物理层、环境因素、设备异常及人为操作等多个维度。以下是常见原因的分类解析及典型案例,帮助快速定位问题根源: 一、物理层损伤(占比约40%) 光纤断裂 原因:施工挖断
stm32cubeIDE使用malloc失败是什么原因?
我在stm32cubeIDE环境下,已经分配了足够的栈与堆空间,但是我在的使用malloc分配内存时,一直分配不成功,这是什么原因?
发表于 06-09 07:24
stm32cubeIDE使用malloc失败是什么原因?
我在stm32cubeIDE环境下,已经分配了足够的栈与堆空间,但是我在的使用malloc分配内存时,一直分配不成功,这是什么原因?
发表于 06-04 07:18
想用ADUCM355的高速DAC输出负电压,负电压输出不了,是什么原因呢?
M355_WaveformGenerator,我修改了里面AD5940_WGTrapezoid.c的代码,可是我只能输出最低0.3v和最高1.92v,手册上说能输出±607mv,我这边负电压输出不了,是什么原因呢?请教一下贵司
发表于 04-24 08:13
无线模块校验失败是什么原因呢
评论