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. I.MX6 USB Camera

    /************************************************************************* * I.MX6 USB Camera * 说明: ...

  2. NodeJS中 Path 模块

    var path = require('path'); // 当发现有多个连续的斜杠时,会替换成一个: 当路径末尾包含斜杠时,会保留: // 在 Windows 系统会使用反斜杠. var p = p ...

  3. diea破解

    选择菜单Help->Register->License server,填上http://idea.iteblog.com/key.php,如图所示:  点击Activate,然后就搞定了.

  4. Poj 2602 Superlong sums(大数相加)

    一.Description The creators of a new programming language D++ have found out that whatever limit for ...

  5. SQL 常用语句收集

    1.UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 2.SELECT * FROM TableA INNER JOIN TableB ON TableA.name = T ...

  6. orcal数据库得连接必须用localhost,url中不要用127.0.0.1,不然无法连接

    orcal数据库得连接必须用localhost,url中不要用127.0.0.1,不然无法连接,

  7. 杂项:Webpack

    ylbtech-杂项:Webpack 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地 ...

  8. seaweedfs安装配置使用

    Saeweedfs是一个由golang语言开发的分布式对象存储系统,很适合做图片服务器,性能很好,安装操作都很简单,并且可兼容挂载提供路径访问的方式,可以较为便捷的将nginx+nfs此类的文件服务器 ...

  9. linux命令-gzip压缩

    把很大的目录/文件压缩成更小的文件,传输节省带宽,从服务端到客户端下载过程节省时间,减少带宽,节省使用率.使用cpu的资源. 压缩命令gzip [root@wangshaojun ~]# ls111. ...

  10. ubuntu安装配置ApachePhpMysql

    1.安装之前先sudo源 sudo apt update 2.安装Apache2 sudo apt install apache2 3.更改默认目录: vi /etc/apache2/apache2. ...