STM32如何用LCD、OLED显示浮点数

时间:2024-01-30 19:23:53

      在STM32或其它单片机应用时,需要用LCD、OLED显示浮点数,比如带小数的温度值、

电压值。而选用的LCD、OLED自带的显示函数只有显示字符、汉字等函数,没有显示浮点

数的函数。那么我们可以采用以下简单方法来显示。

     先定义一个字符串,用于存储结果浮点数,单精度 float型需要7位、双精度型double需要

17位有效字符,要把小数点算上。如下,定义了个10位的字符串组ADC_FLOAT_CHR

    char ADC_FLOAT_CHR[10];


  使用时直接调用 sprintf(char* p,const char* pattern,...)函数进行格式化,如下:

   sprintf(ADC_FLOAT_CHR,"%f",float_val);
   这样就将浮点数变量float_val转成了的字符串ADC_FLOAT_CHR,再调用显示函数显示

字符串即可。注意浮点数使用格式符”%f”控制是,默认保留小数点后6 位数字。也可使用

”%m.nf”格式控制,其中m 表示打印的宽度,n 表示小数点后的位数。