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 );//调用显示函数 当你移植时,只需修改字符显示函数便可适配你的设备。显示效果如图:
经验分享 程序员 微信小程序 职场和发展