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. hsv空间

    hsv在不同的软件中,有不同的阈值, 在描述阈值之前,看一下它的定义,按照标准的定义,hsv应该是从0°到360°的一个环,加上一个表示亮度的轴,重点就是那个环. 这个环如图一,0°一般为红色120° ...

  2. 关于解决SSHD 连接 认证失败的问题

    网上找有很多方法,有时候情况不一样 ,也不实用 其实找到解决问题的思路更总要 首先分析日志文件 less /var/log/secure | grep sshd ,看具体出现什么问题 然后再去搜索相关 ...

  3. 继续学习:C语言关键字

    auto :声明自动变量 break:跳出当前循环 case:开关语句分支 char :声明字符型变量或函数 const :声明只读变量 continue:结束当前循环,开始下一轮循环 default ...

  4. HDU5446 Unknown Treasure(组合数膜合数-->Lucas+中国剩余定理)

    >On the way to the next secret treasure hiding place, the mathematician discovered a cave unknown ...

  5. HDU3037Saving Beans(组合数+lucas定理)

    Problem Description Although winter is far away, squirrels have to work day and night to save beans. ...

  6. BZOJ3033 太鼓达人

    3033: 太鼓达人 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 690  Solved: 497[Submit][Status][Discuss] ...

  7. UDEV管理RAC共享存储

    背景:操作系统 centos 6.7 数据库:11.2.0.1 操作流程: 1. 确认在所有RAC节点上已经安装了必要的UDEV包[root@11gnode1 ~]# rpm -qa|grep ude ...

  8. centos6.6系统初始化脚本

    #!/bin/bash # Program: # system_init_shell # History: # 2012/06/01 25061008@qq.com # Release: # 1.1 ...

  9. C/C++文件读写操作总结

    本文主要从两方面介绍读写文件操作,一个是C,另一个是C++. 一.基于C的文件操作. 在ANSI C中对文件操作有两种方式,一种是流式文件操作,另一种是I/O文件操作.下面分别介绍. 1.流式文件操作 ...

  10. fiddler 的AutoRespoder的使用(手动添加测试桩)

    ---恢复内容开始--- 1.首先我们抓取一个百度的请求,由于百度请求是https协议,需要手动添加证书(这个不写了,大佬们自己手动找下资料) 2.fiddler抓取的百度请求,其他的无关信息删除,便 ...