arduino程序里,通过串口监视器经常发现接收到的数字是乱码,比如发送1,结果串口显示器显示的是一个方块,查找了相关资料后,发现是发送的时候使用了serial.write()导致的。
Serial.write():发送数字时其实发送是把数字当做ASC码进行发送了,比如发送1,系统在显示的时候会查找这个数字对应ASC码表里代表什么,0-32代表的是控制字符或通讯专用字符,不对应数字或字母,因此才会显示一个方块。
如使用**Serial.print()**:发送1时,实际发送的是1对应的ASC码,显示的时候也会根据ASC码表显示回来,因此显示的仍然是1,不过需要注意的是这里显示的1代表的是字符,而输入的1是数字,要读取为数字,还需要使用**Serial.parseInt()**方法。