• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32串口接收数据后,怎么确认接收的数据正确

南巷白龙 2019-04-29 浏览量:2019
STM32串口接收数据后,怎么确认接收的数据正确
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 可以通过自定义数据通信协议来进行数据完整性校验,比较可靠的通信协议往往包含有以下几个组成部分:
    帧头、地址信息、数据类型、数据长度、数据块、校验码、帧尾;
    帧头和帧尾用于数据包完整性的判别,通常选择一定长度的固定字节组成,要求是在整个数据链中判别数据包的误码率越低越好。
    • 发布于 2019-04-30
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:7
  • 你可以在串口接收中加入校验,比如累加,然后判断数据是否正确,如果正确,就认为是有效数据
    • 发布于2019-04-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个你只能自己用代码判断 比如你送一组数据后

    使用算法算出特征码 然后发送

    接收数据后通过计算特征码跟接收的特征码进行对比

    可以是累加也可以是md5等等

    • 发布于2019-04-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 在数据发送之前将值保存到一个buff,然后进行base64或md5加密,然后在串口接收端进行解密,解密出的数据与原始保存的buff值进行对比,才能确保数据准确。
    • 发布于2019-04-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以添加上crc(纯数据传输)或者LRC(ASCII传输)校验,接收端进行验证,验证不通过请求重发。
    • 发布于2019-04-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以通过计算一帧数据的crc校验值判断数据的准确性,比如我们常用modbus协议,就是利用uart接收数据后经过crc16校验的
    • 发布于2019-05-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 常用的就是奇偶校验/异或校验/CRC循环冗余码校验,如果对数据准确性要求高,需要加入校验的冗余数据才行
    • 发布于2019-05-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 要校验数据是否正确,一般是在数据包里面增加包头包尾和校验,常见的校验包括crc16 crc32等

    硬件上面只能确认某个字节是否正确,靠停止位和校验位

    • 发布于2019-05-07
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32串口接收数据后,怎么确认接收的数据正确