[quote=引用 7 楼 ckc 的回复:] [quote=引用 3 楼 appqiufh 的回复:] [quote=引用 1 楼 ckc 的回复:] 通讯在受到干扰的时候会乱码,本来是1接受方读到是0,或者本来是0接受方读到是1 串口通讯硬件那一层就可以加上奇偶校验,可以解决一部分问题 不过想可靠还是靠自己在协议上增加复杂的校验方式 根据你的实际情况考虑校验方式 一般来说就是一组数据之中加上校验位,要求越高校验位越长 接受方收到数据后重新计算一下校验位,如果和发送方不一样就认为数据错误 发请求要求发送方重新发送。
[quote=引用 1 楼 ckc 的回复:] 通讯在受到干扰的时候会乱码,本来是1接受方读到是0,或者本来是0接受方读到是1 串口通讯硬件那一层就可以加上奇偶校验,可以解决一部分问题 不过想可靠还是靠自己在协议上增加复杂的校验方式 根据你的实际情况考虑校验方式 一般来说就是一组数据之中加上校验位,要求越高校验位越长 接受方收到数据后重新计算一下校验位,如果和发送方不一样就认为数据错误 发请求要求发送方重新发送。
增加一定数量数据的校验呗。
[quote=引用 3 楼 appqiufh 的回复:] [quote=引用 1 楼 ckc 的回复:] 通讯在受到干扰的时候会乱码,本来是1接受方读到是0,或者本来是0接受方读到是1 串口通讯硬件那一层就可以加上奇偶校验,可以解决一部分问题 不过想可靠还是靠自己在协议上增加复杂的校验方式 根据你的实际情况考虑校验方式 一般来说就是一组数据之中加上校验位,要求越高校验位越长 接受方收到数据后重新计算一下校验位,如果和发送方不一样就认为数据错误 发请求要求发送方重新发送。
要看你的传输环境是什么。如果是空间通讯,那真需要校验什么纠错。如果就是一根串口线或者板上通讯,那就大可不必。
你是要校验,还是要纠错?如果是单纯的校验,那就CRC16,足够用了。如果是纠错的话,简单的,可以用汉明码。
通讯在受到干扰的时候会乱码,本来是1接受方读到是0,或者本来是0接受方读到是1 串口通讯硬件那一层就可以加上奇偶校验,可以解决一部分问题 不过想可靠还是靠自己在协议上增加复杂的校验方式 根据你的实际情况考虑校验方式 一般来说就是一组数据之中加上校验位,要求越高校验位越长 接受方收到数据后重新计算一下校验位,如果和发送方不一样就认为数据错误 发请求要求发送方重新发送。
27,373
社区成员
28,771
社区内容
加载中
试试用AI创作助手写篇文章吧