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

stm32f407串口接收发送中文字符容易乱码是怎么回事啊?

fd38f4f3178d6cb1 2018-06-23 浏览量:1384
收发数字和英文不会有问题,但是中文很容易就乱码了,不知道怎么回事?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 串口上面传输的只有高低电平,没有中英文的说法,所谓中英文都是经过处理的,因此要检查

    1、PC端的软件的编码格式

    2、通信是否存在误码,干扰

    3、STM32上面的中文字库是否全

    • 发布于 2018-06-23
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:10
  • ASCII码是单字节的,中文是双字节的,尝试这样解决:

    在每次发送中文时!每次,必须将缓冲区清除后在发送;中文之间不能有英文,而且,一旦出现引文之后不能再出现中文;

    将发送回的英文都扩展成为双字节的,比如英文字符+空白码;或空白吗+英文字符,组成双字节,这样中英文混合发送不会出问题的。

    • 发布于2018-06-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个要检查一下你的数据是不是正常的,是不是有干扰,校验位是不是正常
    • 发布于2018-06-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 乱码大多数是处理时没有正确处理解码(识别编码格式)。
    • 发布于2018-06-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个跟串口助手的编码设置有关系,一般串口助手的编码都是GB2312,如果设置到只识别ASCII码的编码,那中文就肯定会乱码。

    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 看串口发送的设置,如果使用串口助手这种调试工具,要看是否需要选择对应的显示编码格式。
    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 是使用串口助手这种调试工具接收到的吗,是不是要设置下显示格式;
    • 发布于2018-06-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 只有中文乱码呢,还是其他的字符也会乱码呢。

    一方面可能是波特率太高。

    一方面是上位机软件不行,不兼容

    • 发布于2018-06-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个中文乱码很有可能是你的编码方式有问题,可以直接传ASCII码,然后再查表
    • 发布于2018-06-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 是不是在发送字符的时候发送了一个非字符的字节,然后串口助手就错位不能正常显示文字了
    • 发布于2018-07-16
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32f407串口接收发送中文字符容易乱码是怎么回事啊?