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

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; */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值