在使用单片机显示浮点型数据时,因为要显示小数点,有时还要显示负号,而且整数部分位数还经常是不确定的。这时我们就需要一种有效快捷的显示方法。如下:
#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 );//调用显示函数
当你移植时,只需修改字符显示函数便可适配你的设备。显示效果如图:
觉得有用的话,不烦关注我的B站账号:脉冲电子酱。