蓝牙技术学习
直播中

王艳

8年用户 1372经验值
私信 关注
[问答]

HC05通信接收端数据不对

希望把float的数据发出,比如发出一个float,先把float转成4个char
union f2b
{
    float f;
    signed char b[sizeof(float)];
} Float2Byte;
之後发出b到HC05,接收端发现收到的数据长度reclen不是6(包括rn),reclen不是固定数字,而USART2_RX_BUF也跟发出的b不一样,请问问题在那?

回帖(2)

陈萌

2019-2-15 11:03:30
你直接赋值给f,测试下吧。
举报

李建军

2019-2-15 11:25:47
Float2Byte.b[0]=0x51; //Q
Float2Byte.b[1]=0x52; //R
Float2Byte.b[2]=0x53; //S
Float2Byte.b[3]=0x54; //T
u2_printf("%c", Float2Byte.b[0]);
delay_ms(2);
u2_printf("%c", Float2Byte.b[1]);
delay_ms(2);
u2_printf("%c", Float2Byte.b[2]);
delay_ms(2);u2_printf("%c", Float2Byte.b[3]);
delay_ms(2);
现在这样可发送"QRST",reclen为6。但一半时间reclen=1,只显示"Q"
举报

更多回帖

发帖
×
20
完善资料,
赚取积分