使用libmodbus
modbus_set_error_recovery(ctx,
MODBUS_ERROR_RECOVERY_LINK | MODBUS_ERROR_RECOVERY_PROTOCOL);
遇到错误
查了一圈原因,发现因为用的g++编译导致,改成gcc就可以了。
原因
C语言中枚举的本质是整型,因此枚举变量可以用任意整型赋值,但是在C++中枚举变量,只能用被枚举出来的元素初始化。
使用libmodbus
modbus_set_error_recovery(ctx,
MODBUS_ERROR_RECOVERY_LINK | MODBUS_ERROR_RECOVERY_PROTOCOL);
遇到错误
查了一圈原因,发现因为用的g++编译导致,改成gcc就可以了。
原因
C语言中枚举的本质是整型,因此枚举变量可以用任意整型赋值,但是在C++中枚举变量,只能用被枚举出来的元素初始化。