大家帮我看一下这段程序,基于Atmega16的基础上,采集出AD转换的值将其转化为电压值。这个电压值的公式

2025-04-17 18:43:25
推荐回答(1个)
回答1:

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