oled怎么显示浮点小数_单片机显示浮点型数据
在使用单片机显示浮点型数据时,因为要显示小数点,有时还要显示负号,而且整数部分位数还经常是不确定的。这时我们就需要一种有效快捷的显示方法。如下:
#include "stdarg.h"
void OLED_ShowFNum(u8 x,u8 y,char *str,...) //显示浮点数
{
char buf[10];
va_list ptr; //用于获取不确定个数的参数
va_start(ptr,str); //得到第一个可变参数地址
vsprintf(buf,str,ptr);
va_end(ptr);
Display_Asc_String(6,x,y,buf); //字符显示函数
}
OLED_ShowFNum(130,10,"%2.1f",DS18B20.water_temp );//调用显示函数 #include "stdarg.h" void OLED_ShowFNum(u8 x,u8 y,char *str,...) //显示浮点数 { char buf[10]; va_list ptr; //用于获取不确定个数的参数 va_start(ptr,str); //得到第一个可变参数地址 vsprintf(buf,str,ptr); va_end(ptr); Display_Asc_String(6,x,y,buf); //字符显示函数 } OLED_ShowFNum(130,10,"%2.1f",DS18B20.water_temp );//调用显示函数
当你移植时,只需修改字符显示函数便可适配你的设备。显示效果如图:
在使用单片机显示浮点型数据时,因为要显示小数点,有时还要显示负号,而且整数部分位数还经常是不确定的。这时我们就需要一种有效快捷的显示方法。如下: #include "stdarg.h" void OLED_ShowFNum(u8 x,u8 y,char *str,...) //显示浮点数 { char buf[10]; va_list ptr; //用于获取不确定个数的参数 va_start(ptr,str); //得到第一个可变参数地址 vsprintf(buf,str,ptr); va_end(ptr); Display_Asc_String(6,x,y,buf); //字符显示函数 } OLED_ShowFNum(130,10,"%2.1f",DS18B20.water_temp );//调用显示函数 当你移植时,只需修改字符显示函数便可适配你的设备。显示效果如图: