单片机/MCUwilliam hill官网
直播中

欧阳飞雪

7年用户 20经验值
擅长:可编程逻辑
私信 关注
[问答]

单片机读取浮点数

单片机中,把某个浮点数保存在指定的四个单元后,怎么读取出来呢?
比如,把浮点数float a=233.45按字节保存在0x0400,0x0401,0x0402,0x0403后,怎么把它读出来保存到float b中?

回帖(5)

人中狼

2018-1-11 09:49:32
不太明白你的问题,应该直接按字节读出,写入就可以了吧,或者直接float b = float a;
举报

欧阳飞雪

2018-1-11 10:02:37
引用: 人中狼 发表于 2018-1-11 09:49
不太明白你的问题,应该直接按字节读出,写入就可以了吧,或者直接float b = float a;

你好,我的意思是在0x0400,0x0401,0x0402,0x0403这四个单元中,放着一个浮点数的四个字节数据,我想把这个数据赋值到float b中
举报

人中狼

2018-1-11 10:17:23
在网上找找吧,有解决的方法,好像是做一个结构,把四个字节对应放到结构里,这个结构再给float b就行了,你需要的这个是把浮点数按字节通过串口发送的方法的逆向操作
举报

勇哥-lzu

2018-1-11 17:11:57
memcpy(&b,&a,4)
举报

654524

2018-1-12 15:11:11
可以吧这四个字节读取出来,按照顺序存放在乱序内存,比如数组unsigned char tab[4]
然后转化一下。b = *(float *)tab;
举报

更多回帖

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