这是一个简单实用的数值到字符转换方法。查ASCII码表,数字0-9分别对应的十六进制编码为0x30-0x39。比如你计算得出某一位的数值为1,对应的十六进制编码就是0x01,加上0x30即为0x31,也就是ASCII字符1,;不加的话串口会直接发送出0x01,这并不是一个可显示的ASCII码,显示当然就乱码了。如果要精简程序,也可以不加0x30,但是要将串口接收工具设置为接收16进制(HEX)编码,这样也能看到正确的返回。