全站数据
8 4 2 0 5 8 1

串口通信如何发送浮点型数据angleXangleY

青橙心理 | 简单学习,快乐成才!         
问题更新日期:2024-10-14 13:42:56

问题描述

串口通信如何发送浮点型数据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的;