当前位置: 代码迷 >> 单片机 >> 单片机通信能发送浮点数据吗?解决思路
  详细解决方案

单片机通信能发送浮点数据吗?解决思路

热度:42   发布时间:2016-04-28 16:16:18.0
单片机通信能发送浮点数据吗?
请问各位经过AD转换后存放在单片机里的浮点数据,要发送给其他单片机,需要把浮点转换成字符型或其他型数据吗?如果要转换,算法是什么?谢谢指点!

------解决方案--------------------
看数值范围
------解决方案--------------------
偶?AD的结果需要用浮点数据来存储吗?
浮点的数据在内存中也不就是用4个字节表示的吗,把4个字节按一定的顺序发送,再在接受的地方组合不就搞定了吗?
例如:结果为Float;再定义一个发送(FLOAT 和CHAR [4])的联合体
------解决方案--------------------
同意2楼的做法
------解决方案--------------------
你不知道共用体的用法?
send(float fData)
{
union SendData
{
float fData;
uchar cData[4];
}uiSendData;

uiSendData.fData = fData;
//串口发送,
putchar(uiSendData.cData[0]);
putchar(uiSendData.cData[1]);
putchar(uiSendData.cData[2]);
putchar(uiSendData.cData[3]);
}
你自己写接受函数吧?(不晓得有错没有啊,多多包涵)
float fnReceive()
{
}
------解决方案--------------------
在你从UART发送的时候哪里还有字符或浮点的差别?全都Byte流.
------解决方案--------------------
同意楼上。都是字节流,一切自己控制就可以了
------解决方案--------------------
精辟!
  相关解决方案