diff --git a/Src/modbus_master.c b/Src/modbus_master.c index c6b6d2c..5d769bf 100644 --- a/Src/modbus_master.c +++ b/Src/modbus_master.c @@ -93,7 +93,7 @@ int MB_RespGet_CoilState(RS_MsgTypeDef *modbus_msg, uint16_t coil_addr, int *coi if(bit_index < 8) *coil_state = (modbus_msg->DATA[data_index] >> (bit_index+8)) & 0x01; else - *coil_state = ((modbus_msg->DATA[data_index]&0xFF) >> bit_index) & 0x01; + *coil_state = ((modbus_msg->DATA[data_index]&0xFF) >> bit_index-8) & 0x01; return 1;