微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机串口如何发生float数据

单片机串口如何发生float数据

时间:10-02 整理:3721RD 点击:
如题,char的数据或是数组我会发,可是float类型的怎么发呢,串口一次只能发8位的数据,像int或float这种超过
8位的不知道怎么办好,请指教

你可以看一下联合体union

可以将浮点数,先变成要求精度下的两个整数再发
11.111 -》11 and 111

可以高八位发整数,低八位发小数

分部分发     整数部分与小数部分

用共用体变量,逐字节发送。

可以分成小数部分和整数部分

可以发4个字节出去(一个float在32位机上一般是4字节),再在上位机上将这4个字节组合成一个float的数据,这样就不会有精度丢失的问题了。

谢谢各位的回答,用共同体是一个好办法,还可以用memcpy,这个更加方便

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top