单片机串口如何发生float数据
时间:10-02
整理:3721RD
点击:
如题,char的数据或是数组我会发,可是float类型的怎么发呢,串口一次只能发8位的数据,像int或float这种超过
8位的不知道怎么办好,请指教
8位的不知道怎么办好,请指教
你可以看一下联合体union
可以将浮点数,先变成要求精度下的两个整数再发
11.111 -》11 and 111
可以高八位发整数,低八位发小数
分部分发 整数部分与小数部分
用共用体变量,逐字节发送。
可以分成小数部分和整数部分
可以发4个字节出去(一个float在32位机上一般是4字节),再在上位机上将这4个字节组合成一个float的数据,这样就不会有精度丢失的问题了。
谢谢各位的回答,用共同体是一个好办法,还可以用memcpy,这个更加方便