问问题描述
答精选答案

思路:将多字节浮点数据分解成单字节逐个发送,接收后组合还原;可以使用共用体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的;
本文来自作者[率真怀揣梦想的星]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/1004342.html
评论列表(4条)
我是公众科技网的签约作者“率真怀揣梦想的星”!
希望本篇文章《串口通信如何发送浮点型数据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位接收端也定义同样