单片机中的浮点数转换成串口可打印格式

发布者:bobojrt最新更新时间:2018-06-20 来源: eefocus关键字:单片机  浮点数  串口  打印格式 手机看文章 扫描二维码
随时随地手机看文章

阅读数:363

      uint8 len = 0;
      len=Float2Char(arp_count_xishu,b);
      USART0_send_n(b,len);

 

#define uint8 unsigned char
#define uint32 unsigned int
/************************************************************************/
/* 函数名:Float2Char            */
/* 功能:执行Float转换成char            */
/*参数:value: Float值  array:char数组           */
/*返回值:数组长度               */
/************************************************************************/
unsigned char Float2Char(float value, unsigned char *array){
 uint8 IntegerPart;
 float DecimalPart;
 uint8 i = 0;
 uint8 j = 0;
 char temp;
 //分离整数和小数
 if(value >= 1) {
  IntegerPart = (uint8)value;
  DecimalPart = value - IntegerPart;
 }
 else {
  IntegerPart = 0;
  DecimalPart = value - IntegerPart;
 }
 if(IntegerPart==0){
  array[0]='0';
  array[1]='.';
  i=1;
  }else{
  while(IntegerPart>0){
   array[i]=IntegerPart%10+'0';
   IntegerPart/=10;
   i++;
  }
  i--;
  //fix the result
  for(j=0;j   temp=array[j];
   array[j]=array[i-j];
   array[i-j]=temp;
  }
  i++;
  array[i] = '.';
 }
 //convert the Decimalpart
 i++;
 array[i++] = (uint32)(DecimalPart * 10)%10 + '0';
 array[i++] = (uint32)(DecimalPart * 100)%10 + '0';
 array[i++] = (uint32)(DecimalPart * 1000)%10 + '0';
 array[i++] = (uint32)(DecimalPart * 10000)%10 + '0';
 array[i]   = '\0';
 return i;
}


关键字:单片机  浮点数  串口  打印格式 引用地址:单片机中的浮点数转换成串口可打印格式

上一篇:STC12C5A60S2单片机的内置EEPROM的使用
下一篇:单片机实现PT2262解码示例代码

推荐阅读最新更新时间:2024-03-16 16:06

基于STM32单片机的智能书桌设计与实现
研究结果表明,学生的读写姿势不正确率高达70%甚至85%以上 。不良的读写姿势、不合适的光照条件会令学生不停地调整眼睛的睫状肌,容易降低睫状肌调节能力,进而导致近视 。从长远看,不良的读写姿势还会对学生的脊柱和颈椎形状,乃至整体形貌和健康产生负面影响;另一方面,久坐的办公方式容易导致肌肉骨骼疾患和颈椎、腰椎疾病 。 桌椅高度和光照情况是决定学生能否形成良好读写习惯的重要因素。传统桌椅高度固定,不能很好适应个性化的身高。所以,为了让不同身高的使用者培养良好的使用习惯,本项目设计了一款能根据使用者情况自动调节桌面高度的智能书桌系统。在此基本功能之外,该智能书桌还具有久坐提醒、坐姿不正提醒、随环境光照自动控制亮度的LED台灯、随环境
[单片机]
HCS12系列单片机的两种加密解密方法
  在HCS12系列单片机中,加密可以分成两种方法:完全加密和使用密码的加密。这两种加密的方法根据用户的需求,使用的场合也有所不同。   完全加密   所谓完全加密,就是将芯片彻底的保护起来,屏蔽对芯片的所有读操作。在MC9S12DP256单片机中,加密是通过对某一Flash单元($FF0F)编程来实现的。加密后的芯片,BDM编程器对Flash的读操作就被禁止了。   采用完全加密,读取ROM代码的可能性就不存在了,这是一种最为 安全 的加密方法。如果用户   想修改ROM的内容,唯一的办法就是将Flash的内容全部擦除,这一操作可以通过BDM编程器来完成。   使用BDM编程器擦除Flash ROM和EEPROM的过程与在
[单片机]
基于双单片机的悬挂物体寻迹控制系统
历届全国电子设计竞赛的题目可以分为电源类、信号源类、无线电类、放大器类、仪器仪表类、数据采集与处理类和自动控制类,在2005年全国大学生电子设计竞赛中,悬挂物体控制系统就是一道典型的自动控制类赛题。本文着重介绍一种基于双单片机的悬挂物体沿板上标出的任意曲线运动的控制系统方案。 1系统设计要求和设计思路 题目要求控制物体沿板上标出的任意曲线运动,如图1所示。曲线在测试时现场标出,线宽1.5cm~1.8cm,总长度约50cm,颜色为黑色;曲线的前一部分是连续的,长约30cm;后一部分是两段总长约20cm的间断线段,间断距离不大于1cm;沿连续曲线运动限定在200s内完成,沿间断曲线运动限定在300s内完成。
[单片机]
stm32下载方式之串口ISP\swd(JLink)
1.首先看一下stm32启动模式 stm32的启动模式由32芯片的boot0与boot1引脚决定。分为内嵌flash启动模式(正常启动模式)、内存启动模式、rom启动模式 启动方式与引脚高低电平的对应关系如下,芯片复位的四个时钟周期内会去读取boot0和boot1引脚的电平情况确定芯片的运行 模式。 boot0=0,boot1=x ----------------内嵌flash启动模式 boot0=1,boot1=1 ----------------内存启动模式 boot0=1,boot1=0----------------rom启动模式(串口isp下载程序) 2.串口isp下载方式 isp串口下载HEX程序步骤 1)设置bo
[单片机]
stm32下载方式之<font color='red'>串口</font>ISP\swd(JLink)
STM32+HC05串口蓝牙设计简易的蓝牙音箱
一、环境介绍 MCU: STM32F103C8T6 蓝牙模块: HC05 (串口蓝牙) 音频解码模块: VS1053B OLED显示屏: 0.96寸SPI接口OLED 开发软件: Keil5 上位机: 使用QT设计Android端APP 二、功能介绍 Android手机打开APP,设置好参数之后,选择音乐文件发送给蓝牙音箱设备端,HC05蓝牙收到数据之后,再传递给VS1053进行播放。程序里采用环形缓冲区,接收HC05蓝牙传递的数据,设置好传递的参数之后,基本播放音乐是很流畅的。 完整项目源码下载地址: https://download.csdn.net/download/xiaolong1126626
[单片机]
STM32+HC05<font color='red'>串口</font>蓝牙设计简易的蓝牙音箱
AVR 单片机学习(九)iic总线及TWI模块的使用方法
IIC总线定义与特点 I2C总线的工作原理 AVR的TWI模块的使用方法 AT24C02IIC inter integrated circuit 总线是一种由PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如:电源和系统风扇,可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。 TWI:ATMega 系列单片机内集成两线制串行接口模块,ATmegl文档称为TWI接口事实上TWI与PHILIOS
[单片机]
AVR <font color='red'>单片机</font>学习(九)iic总线及TWI模块的使用方法
使用单片机制作一个报警器的资料和源代码说明
1.实验任务 用AT89S51单片机产生“嘀、嘀、…”报警声从P1.0端口输出,产生频率为1KHz,根据上面图可知:1KHZ方波从P1.0输出0.2秒,接着0.2秒从P1.0输出电平信号,如此循环下去,就形成我们所需的报警声了。 2.电路原理图 图4.18.1 3.系统板硬件连线 (1. 把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上, (2. 在“音频放大模块”区域中的SPK OUT端口上接上一个8欧或者是16欧的喇叭; 4.程序设计方法 (1.生活中我们常常到各种各样的报警声,例如“嘀、嘀、…”就是常见的一种声音报警声,但对于这种报警声,嘀0.2秒钟,然后断0.2秒钟,如此循
[单片机]
使用<font color='red'>单片机</font>制作一个报警器的资料和源代码说明
基于单片机和CAN总线的智能家居控制系统
  1 引言   智能家居于20 世纪80 年代兴起于日本和欧美,于90 年代末进入中国,伴随着经济的发展和人们生活水平的提高逐渐为国人所了解和接受。目前国内的各种智能化系统和产品较多,但各系统相互独立,集成度较低,彼此联系不大。比如楼宇对讲系统、安防系统、家用电器自动控制系统等,都各有自己的终端,没有统一的智能控制平台。对用户而言,这种状况增加了使用成本和操作的复杂性;对施工而言,则导致了重复布线。本文针对此种状况,设计一种采用单片机AT89C52 为控制核心,利用原有的电话网络,将楼宇对讲、安防报警和电话远程监控系统集成起来,形成一个统一的智能控制平台,并通过CAN 总线组网与门口机和管理机相连,能实现楼宇对讲、电话远程监控和报
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved