串口上面传输的只有高低电平,没有中英文的说法,所谓中英文都是经过处理的,因此要检查
1、PC端的软件的编码格式
2、通信是否存在误码,干扰
3、STM32上面的中文字库是否全
ASCII码是单字节的,中文是双字节的,尝试这样解决:
在每次发送中文时!每次,必须将缓冲区清除后在发送;中文之间不能有英文,而且,一旦出现引文之后不能再出现中文;
将发送回的英文都扩展成为双字节的,比如英文字符+空白码;或空白吗+英文字符,组成双字节,这样中英文混合发送不会出问题的。
只有中文乱码呢,还是其他的字符也会乱码呢。
一方面可能是波特率太高。
一方面是上位机软件不行,不兼容