LCD浮点数显示函数的探讨
原创 2017年12月19日
单片机开放附赠的学习资料里面很少见到显示浮点数的函数,显示浮点数的操作也相当烦坠!
一般转换显示法
拿STM32单片机资源,我们选取ADC采样部分函数来看显示过程
adcx=Get_Adc_Average(ADC_Channel_5,20);
LCD_ShowxNum(134,130,adcx,4,16,0);
temp=(float)adcx*(3.3/4096);
adcx=temp;
LCD_ShowxNum(134,150,adcx,1,16,0);
temp-=adcx;
temp*=1000;
LCD_ShowxNum(150,150,temp,3,16,0X80);
LED0=!LED0;
delay_ms(250);
分别取出整数部分和小数部分,分别显示出来
调整改进void OLED_ShowFloatNum(u8 x,u8 y,doublenum,u8 len,u8 size)
{
u32 interger=(u32)num;
u32 fractional=(u32)((num-interger)*1000);
u32 x_tmp;if(num<0)
{
OLED_ShowString(x,y,"Minus!",16);
}else{if(interger>=100)
{
x_tmp=x;
OLED_ShowNum(x,y,interger,3,size