I'm attempting to use an Arduino uno with a DFR0259 rs485 shield to communicate to a slave device through Modbus protocol but nothing seems to work. The library i'm using is ModbusMaster. To test the communication i'm using the modbus slave program which is receiving Rx signals but no data is being written. Some help would be greatly appreciated.
#include <ModbusMaster.h>
#define MAX485_DE 4
#define MAX485_RE_NEG 5
ModbusMaster node;
void preTransmission()
{
digitalWrite(MAX485_RE_NEG, 1);
digitalWrite(MAX485_DE, 1);
}
void postTransmission()
{
digitalWrite(MAX485_RE_NEG, 0);
digitalWrite(MAX485_DE, 0);
}
void setup()
{
pinMode(MAX485_RE_NEG, OUTPUT);
pinMode(MAX485_DE, OUTPUT);
digitalWrite(MAX485_RE_NEG, 0);
digitalWrite(MAX485_DE, 0);
Serial.begin(19200); //Baud Rate as 19200
node.begin(1, Serial); //Slave ID as 1
node.preTransmission(preTransmission);
node.postTransmission(postTransmission);
}
void loop()
{
node.writeSingleRegister (0x40001, 200);
}