Modbus 接收ABCD四字节浮点数转换成CDAB形式浮点数方法

论坛 期权论坛 期权     
选择匿名的用户   2021-5-28 09:11   7509   0

https://wenku.baidu.com/view/2ed5793d4b73f242336c5fb8.html



将从串口接收到的浮点数四个字节,还原成浮点数

p[0] 从串口接收到的浮点数第1个字节。。。。。p[3] 从串口接收到的浮点数第4个字节
返回 浮点数
float get_float_from_4u8(u8 *p)
{
float a;
u8 *r;
r=(u8*)&a;
*r=p[1];
r++;
*r=p[0];
r++;
*r=p[3];
r++;
*r=p[2];
return(a);
}




/* 应用范例


pp[0]=0x00;
pp[1]=0x00;
pp[2]=0x43;
pp[3]=0x5c;
mf1 = get_float_from_4u8(pp); // mf1 = 220.0

pp[0]=0xb2;
pp[1]=0x2d;
pp[2]=0x3f;
pp[3]=0x5d;
mf2 = get_float_from_4u8(pp); // mf2 = 0.8666

pp[0]=0x00;
pp[1]=0x00;
pp[2]=0x42;
pp[3]=0xc8;
mf3 = get_float_from_4u8(pp); // mf3 = 100.0;

pp[0]=0x00;
pp[1]=0x00;
pp[2]=0x42;
pp[3]=0x48;
mf4=get_float_from_4u8(pp); // mf4 = 50.0; */
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP