单片机通信能发送浮点数据吗?
请问各位经过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流.
[解决办法]
同意楼上。都是字节流,一切自己控制就可以了
[解决办法]
精辟!