在进行串口多个字节实验时发现一个现象,就是使用串口调试助手给单片机发送信息时,单片机返回的信息第一次正常,但后面每次都会多一两个字节0x0D和0x0A。现象如下:
后面通过查找发现,0x0D和0x0A竟然是回车换行符的ASCII码。然后我就注意到了串口发送助手的界面,有一个“发送新行”的选项。如下图所示:
当鼠标放在上面时会提示,“勾选此项,发送的时候将自动加入回车换行!”。果然如此,真正的问题就在这儿。不是程序的问题,而是串口调试助手使用的不对。如下图所示,取消勾选“发送新行”选项后,串口的收发恢复了正常。
自此,问题完美解决。希望能够帮助到大家。