串口通信如何发送浮点型数据angleXangleY?
思路:将多字节浮点数据分解成单字节逐个发送,接收后组合还原;可以使用共用体union{//假设浮点和长整形均为4字节 float angleX; unsigned long bs;}data;data.angleX = 123.456;发送时发4字节 TX = (uchar)bs; //低8位TX = (uchar)(bs>>8);TX = (uchar)(bs>>16);TX = (uchar)(bs>>24)
;//高8位接收端也定义同样的共用体,接收4字节union{ float angleY; unsigned long bs_Rx;}data_Rx;bs_Rx = RX ; //低8位bs_Rx |= RX <<8;bs_Rx |= RX <<16;bs_Rx |= RX<<24;//高8位最后angleY的值是等于angleX的;
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有