关于字节型数据转为浮点型数据的问题

情景:RTU抄流量计

 

RTU发送Modbus命令:41 03 00 02 00 08 EB 0C

水表回应:41 03 10 43 CF 16 25 00 D6 59 A7 00 D6 59 C1 FF FF FF E7 57 29

 

其中从第4-7字节为float型数据,43 CF 16 25,解析值应该为414.173,

单片机程序:

       float ss_value;
       ulong temp_ss_value;

        temp_ss_value = buf[3] << 24;    
        temp_ss_value += buf[4] << 16;    
        temp_ss_value += buf[5] << 8;    
        temp_ss_value += buf[6];        
    
        memcpy(&ss_value,&temp_ss_value,sizeof(temp_ss_value));

        caoxi[meter_caoxi_index].ss_flux = ss_value; 

 

写成以下写法则不能准换成功:

 

       float ss_value;
    
        memcpy(&ss_value,&buf[3],4);

        caoxi[meter_caoxi_index].ss_flux = ss_value; 

目前尚未搞明白,望看到的高手指点以下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值