你可以先按十六进制显示,然后对比你收到的十六进制与你输入内容的十六进制之间的差异。一般来说这种现象出现的原因是你上下位机没有规定好通讯协议,而是直接将收到的任何内容直接进行转码显示,因为串口本身有缓冲区,你下位机一次发出来的内容,在上位机可能两次才能接收到,如果中断的地方刚好是中文,自然就出来半个字符那就是乱码了。
关注这个问题