Modbus Protocol Compile Error I have Code for Mod bus Library as below. I have Gone through lots of forum. How to assign device ID, slave address, length using below library function:

#include &lt;SimpleModbusSlave.h&gt;
#define  LED 9  
enum 
{     

  ADC_VAL,     
  PWM_VAL,        
  HOLDING_REGS_SIZE // leave this one
};

unsigned int holdingRegs[HOLDING_REGS_SIZE]; 
void setup()
{
  modbus_configure(&amp;Serial, 9600, SERIAL_8N2, 1, 2, HOLDING_REGS_SIZE, holdingRegs);    
  pinMode(LED, OUTPUT);
}

void loop()
{
  modbus_update();
  holdingRegs[ADC_VAL] = analogRead(A0); // update data to be read by the master to adjust the PWM
  analogWrite(LED, holdingRegs[PWM_VAL]&gt;&gt;2); // constrain adc value from the arduino master to 255
}


I am getting Error has.

SimpleModbusSlaveArduino.cpp: In function 'void setup()':
SimpleModbusSlaveArduino:79: error: 'SERIAL_8N2' was not declared in this scope




I have  made changes in the lib as in forum. but I found no value read by my software.

Master sending below request on read mode. But not receiving anything.

12:31:02.953: Com8, Baud Rate: 9600, Data Bits: 8 Bits, Parity: None, Stop Bits: 1 Stop Bit
12:31:02.953: Echoback: On, RTS Control: On, Transmit Delay: 5 ms, Response Delay: 1000 ms
12:31:02.953: Read Holding Register(s), Repeat Loop
12:31:02.953: Device Address: 01h, Register: 0000h
12:31:02.953: |-&gt; Read Register: 0000h
12:31:02.968: -&gt; [01h] [0Dh] [00h] [00h] [00h] [01h] [CBh] [EDh]



CHANGES MADE IN AS IN FORUM MENTIONED
Not sure where you got the library from, but if it's from this github repo, you're using it wrong.

The function prototype for modbus_configure is:

void modbus_configure(long baud, byte _slaveID, byte _TxEnablePin, unsigned int _holdingRegsSize, unsigned char _lowLatency);


The example file shows how to use it correctly

modbus_configure(115200, 1, 2, TOTAL_REGS_SIZE);