首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将4个modbus寄存器(每个16位)转换为C中的双浮点数?

如何将4个modbus寄存器(每个16位)转换为C中的双浮点数?
EN

Stack Overflow用户
提问于 2018-10-31 06:41:09
回答 1查看 1.2K关注 0票数 2

我使用libmodbus并有一个16位整数数组,其中保存了modbus寄存器。我尝试使用MODBUS_GET_INT64_FROM_INT16(mod_arr,0),但是这个值(当然)是一个整数。在MAKRO无法工作之前使用(double)。

modbus_get_float_dcba(mod_arr)只读取2个寄存器,而不是4个寄存器。

是否有作为双(64位)读取4 modbus寄存器的函数/宏?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-02 14:16:42

当然了。-)我的解决办法是:

温度= modbus3;

temp1 = modbus2;

temp2 = modbus1;

temp3 = modbus;

memcpy(&mb_double &temp,8);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53077681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档