ReadHolding register by Arduino uno

My final code for reading data from slave:

#include <ModbusMaster.h>
#include <SoftwareSerialParity.h>
// Construct software serial object for Modbus/PC

const int SSRxPin = 10; // Recieve pin for software serial 
const int SSTxPin = 11; // Send pin for software serial 
SoftwareSerialParity SoftSerial(SSRxPin, SSTxPin);
#define MAX485_DE     9
#define MAX485_RE_NEG  8

// instantiate ModbusMaster object
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);
  // Init in receive mode
  digitalWrite(MAX485_RE_NEG, 0);
  digitalWrite(MAX485_DE, 0);

  // Turn On Main/Hardware Serial Port
  Serial.begin(9600,SERIAL_8N1);
 // Serial1.begin(9600,SERIAL_8E1);
    // Turn on Soft serial port

    SoftSerial.begin(9600,EVEN);
    // NOTE:  SoftwareSerial only supports 8N1
    // NOTE: SoftwareSerialParity library support all parity
 
  // Start the Modbus instance with Modbus slave ID 10 and Soft Serial port
  node.begin(10, SoftSerial);
  
  // Callbacks allow us to configure the RS485 transceiver correctly
  node.preTransmission(preTransmission);
  node.postTransmission(postTransmission);
}

void loop()
{
 
  uint8_t j, result;
  uint16_t data[2];
  
  // slave: read (2) 16-bit registers starting at register 33 to RX buffer
  result = node.readHoldingRegisters(33, 2);
  
  // do something with data if read is successful
  if (result == node.ku8MBSuccess)
  {
    for (j = 0; j < 2; j++)
    {
      data[j] = node.getResponseBuffer(j);
    }
   Serial.print(data[0]);
  }
 SoftSerial.flush();
}