一、Seg
温度读取:
①温度
温度读他读出来就是有精度的所以自带小数
我们读取的时候直接强制类型转换读它的各个位也不会丢失精度
②电压
电压是你人为的/51.0了,从char->float->char所以会有精度丢失
所以要用原始数据来换算
在原始数据上多*100/51(保留两位小数的话)
然后在显示的时候就直接读就行,因为他这个时候为整数
在实际上要用的时候再/100.0转为小数
1.底层修改
2.数码管显示
3.实际数据
改完这个,击败百分之99.99的问题!!
之前:
浅改了一下,就是变成
后面把ad的char->int!!
最后优化就是前面那样
二、Key
1.串口和按键会有冲突:改按键底层
关掉定时器中断0,就不进入串口处理函数,等按键扫描完之后再进入
三、串口
1.在main里引用stdio
2.串口底层:
3.变量定义:
4.串口中断服务函数
5.串口处理函数
我不知道为啥这里不能写Uart_Recv[0]=='A'&&Uart_Recv[1]=='\r'&&Uart_Recv[2]=='\n'
答:因为题目里没写,然后
就是接收字符‘A’,也就是他们测试的时候是不会发\r\n的,可以自己设置要不要\r\n,就是不勾那个勾勾 然后直接按发送数据嘛