STM32实现TFT LCD浮点数显示 您所在的位置:网站首页 lcd显示函数显示数字怎么办 STM32实现TFT LCD浮点数显示

STM32实现TFT LCD浮点数显示

#STM32实现TFT LCD浮点数显示| 来源: 网络整理| 查看: 265

STM32实现TFT LCD浮点数显示

chushiweiren: 只需要3行代码 u8 floatStr_ppm[20]; sprintf((char*)floatStr_ppm, "%.3f",ppm); LCD_Fill(30,230,230,230+16,WHITE); LCD_ShowString(30,230,200,16,16,floatStr_ppm);

STM32实现TFT LCD浮点数显示

濲: 你好,给的函数不全,可以补充一下吗,谢谢了

STM32实现TFT LCD浮点数显示

春鹏~: 负数,小数点后0的显示。都可以

STM32实现TFT LCD浮点数显示

春鹏~: 已解决。#include void LCD_ShowString(u16 x, u16 y, const u8 *str, u16 fc, u16 bc, u8 size, int mode); uint8_t Calc_IntNum(uint64_t calc_num); void LCD_ShowFloatNum_Sprintf(u16 x, u16 y, float num, u16 fc, u16 bc, u8 float_n, u8 size) { uint32_t mi_temp = 1; int32_t zhengshu = 0; uint32_t xiaoshu = 0; uint8_t zhengshu_counter = 0; uint8_t xiaoshu_counter = 0; int mode = 0; int sign = 1; if (num < 0) { sign = -1; num = -num; } for (int var = 0; var < float_n; ++var) { mi_temp = 10 * mi_temp; } zhengshu = (uint32_t)num; // 整数部分 xiaoshu = (uint32_t)((num - zhengshu) * mi_temp); // 小数部分转整数计算 zhengshu_counter = Calc_IntNum(zhengshu); xiaoshu_counter = Calc_IntNum(xiaoshu); // 计算输出字符串的总长度,多考虑一位小数点 uint8_t str_len = zhengshu_counter + xiaoshu_counter + 2; // 创建目标字符串 char Str_Data[str_len]; // 使用 '%.*f' 格式控制符,确保小数点后的0被正确输出 sprintf(Str_Data, "%c%.*f", (sign == -1

STM32实现TFT LCD浮点数显示

只会点灯的菜dog: int calc_float_zero_num(float value) { int temp=(int)value; int num; while(1) { value=value*10; if((int)value%temp==0) { num++; } else { break; } } return num; }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有