我使用libmodbus,并且有一个16位整数的数组,保存我的modbus寄存器。我尝试使用MODBUS_GET_INT64_FROM_INT16(mod_arr,0(,但值(当然(是一个整数。在MAKRO不工作之前使用(double(。
modbus_get_float_dcba(mod_arr(只读取2个寄存器,而不是4个寄存器。
是否有一个函数/宏用于将4个modbus寄存器读取为双(64位(?
当然。:-(我的解决方案是:
temp[0]=modbus[3];
temp[1]=modbus[2];
temp[2]=modbus[1];
temp[3]=modbus[0];
memcpy(&mb_double,&temp,8(;