I am using below code but receiving 224 value in result instead of 0 but my modbus rtu drive is accepting commands
What to do?
#include <ModbusMaster.h>
#include <SoftwareSerial.h>
#define MODBUS_DATA_TRANSACTION_PIN 8
SoftwareSerial mySerial(2,3); //Software Serial port For Arduino Uno
ModbusMaster node;
void preTransmission()
{
digitalWrite(MODBUS_DATA_TRANSACTION_PIN, 1);
}
void postTransmission()
{
digitalWrite(MODBUS_DATA_TRANSACTION_PIN, 0);
}
void setup()
{
pinMode(MODBUS_DATA_TRANSACTION_PIN, OUTPUT);
digitalWrite(MODBUS_DATA_TRANSACTION_PIN, 0);
Serial.begin(9600);
mySerial.begin(9600);
// Modbus slave ID 1
node.begin(1, mySerial);
// Callbacks allow us to configure the RS485 transceiver correctly
node.preTransmission(preTransmission);
node.postTransmission(postTransmission);
}
void loop()
{
uint8_t result;
result = node.writeSingleRegister(182, 1); //1-RS485 enable & 2-RS485 disable
Serial.print(result);
}