LCD浮点数显示函数的探讨
原创 2017年12月19日 单片机开放附赠的学习资料里面很少见到显示浮点数的函数,显示浮点数的操作也相当烦坠! 一般转换显示法 拿STM32单片机资源,我们选取ADC采样部分函数来看显示过程 adcx=Get_Adc_Average(ADC_Channel_5,);
LCD_ShowxNum(,,adcx,,,);
temp=(float)adcx*(3.3/);
adcx=temp;
LCD_ShowxNum(,,adcx,,,);
temp-=adcx;
temp*=;
LCD_ShowxNum(,,temp,,,0X80);
LED0=!LED0;
delay_ms(); 分别取出整数部分和小数部分,分别显示出来 调整改进 void OLED_ShowFloatNum(u8 x,u8 y,double num,u8 len,u8 size)
{
u32 interger=(u32)num;
u32 fractional=(u32)((num-interger)*);
u32 x_tmp;
if(num<)
{
OLED_ShowString(x,y,"Minus!",);
}
else
{
if(interger>=)
{
x_tmp=x;
OLED_ShowNum(x,y,interger,,size);
}
else if(interger>=&&interger<=)
{
x_tmp=x-;
OLED_ShowNum(x,y,interger,,size);
}
else if(interger>=&&interger<=)
{
x_tmp=x-;
OLED_ShowNum(x,y,interger,,size);
}
else
{
x_tmp=x-;
OLED_ShowNum(x,y,,,size);
} OLED_ShowChar(x_tmp+,y,'.',size,); if(fractional>=)
OLED_ShowNum(x_tmp+,y,fractional,,size);
else if(fractional>=&&fractional<=)
{
OLED_ShowNum(x_tmp+,y,fractional,,size);
OLED_ShowChar(x_tmp+,y,'',size,);
}
else if(fractional>=&&fractional<=)
{
OLED_ShowNum(x_tmp+,y,fractional,,size);
OLED_ShowChar(x_tmp+,y,'',size,);
OLED_ShowChar(x_tmp+,y,'',size,);
}
else
{
OLED_ShowChar(x_tmp+,y,'',size,);
OLED_ShowChar(x_tmp+,y,'',size,);
OLED_ShowChar(x_tmp+,y,'',size,);
}
}
} 另一种直接调用c语言函数sprintf 定义buffer,这里注意添加头文件#include“stdio.h” adcx=Get_Adc_Average(ADC_Channel_0,);
temp=(float)adcx*(3.3/);
sprintf(buffer,"%5.2f",temp);//浮点型数据转为指定格式的字符串
LCD_ShowString(,,,,,buffer); //直接送字符显示函数

LCD浮点数显示函数的探讨的更多相关文章

  1. 【STM32H7教程】第51章 STM32H7的LTDC应用之LCD汉字显示和2D图形显示

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第51章       STM32H7的LTDC应用之LCD汉字 ...

  2. 痞子衡嵌入式:记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(提问篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1060上LCD横向渐变色显示出亮点问题的分析解决经验. 痞子衡前段时间在支持一个i.MXRT1060客户项目时遇到了LCD ...

  3. 如何让vim自动显示函数声明-使用 echofunc.vim插件

    echofunc.vim可以显示函数的declaration, 默认的是针对c/c++, 对于php, 只要 启用了 ctags都可以, 因为echofunc是从tags file中获取数据的... ...

  4. TControl的显示函数(5个非虚函数,4个虚函数)和三个例子的执行过程(包括SetParent的例子)

    // 9个显示函数 procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); virtual; // 虚函数,important 根据父控 ...

  5. 关于dl dt dd 文字过长换行在移动端显示对齐的探讨总结

    关于dl  dt dd 文字过长换行在移动端显示对齐的探讨总结 <dl> <dt>抵押房产:</dt> <dd>1.北京市大兴区兴华大街丽园小区3单大兴 ...

  6. EmWin 文本显示函数

    函数模型----------------------------------- 1:void GUI_DispChar(U16 c):  在当前窗口的当前文本位置处,使用当前字体显示单个字符.  c ...

  7. 如何在gvim中安装autoproto自动显示函数原型

    cankao: http://www.vim.org/scripts/script.php?script_id=1553 注意, 在gvim中执行的命令, :foo和:!foo 的区别, 跟vim一样 ...

  8. Vim技能修炼教程(16) - 浮点数计算函数

    浮点数计算函数 这一节的所有函数,只有在vim编译时支持了+float时才有效. 三角函数 sin() : sine正弦函数 cos() : cosine余弦函数 tan() : tangent正切函 ...

  9. ue-edit设置显示函数列表

    UltraEdit的函数列表竟然不显示函数,那这功能要它何用,应该如何才能让函数显示出来呢? 公司编程基本上都在UltraEdit中进行,俺刚来公司还不熟悉,今天装了个UltraEdit,可是看着别人 ...

随机推荐

  1. codeforces 651A A. Joysticks (模拟)

    A. Joysticks time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  2. VS2019(Windows+Mac)编辑文件模板

    macOS 找到设置中的如图条目 设置如下内容: ============================================================ Copyright (C) ...

  3. ROS 负载均衡

    [xuan89@MikroTik] > :for i from=1 to=$z do= {/ip firewall mangle add action=mark-connection chain ...

  4. 立方体贴图(Cubemap)

    http://blog.csdn.net/asdjy123/article/details/51190643 点击打开链接 好东西保存方便查看 立方体贴图(Cubemap) 原文 Cubemaps 作 ...

  5. vs code 安装Scala

    首先本机要安装scala(官网肿么下不了,CSDN上面下的): 配置scala到环境变量PATH中(Scala的根目录): VS中安装以下扩展: 1. Scala: 2. Sbt: 3. Code R ...

  6. POJ2689:素数区间筛选

    Prime Distance Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15820   Accepted: 4202 D ...

  7. Spring 3.1新特性之四:p命名空间设置注入(待补充)

    https://www.ibm.com/developerworks/cn/java/j-lo-jparelated/ http://www.ibm.com/developerworks/cn/jav ...

  8. JSP介绍(4)--- JSP Cookie 处理

    Cookie是存储在客户机的文本文件,它们保存了大量轨迹信息. JSP脚本通过request对象中的getCookies()方法来访问这些cookie,这个方法会返回一个Cookie对象的数组. 通常 ...

  9. 通过DBCC整理Sqlserver数据库表索引碎片

    昨天检查了一张效率极慢的表,两年多没有维护,逻辑扫描碎片高达99.%,于是开始对这个表进行重点跟踪和记录日志.今天用DBCC SHOWCONTIG WITH TABLERESULTS 命令检查了一下所 ...

  10. hibernate中的session的获取方法以及区别

    获取sesstionFactory的方法: // sessionFactory factory = new AnnotationConfiguration.configure("hibern ...