Arduino - Modbus Data with I2C communication not working correctly

I am making a data logger which is using Ds3231 clock, TTL converters (MAX485 breakout board), SD card reader.

MAX485 read value from my sensor or energy meter and the values push to the SD card. Now, I want to include a timestamp for each value pushed to the SD card without interruption so I used DS3231 with its library. As the clock is an I2C device so I also used wire.h for managing i2c communication. When I add wire.h my whole program iterated 1 time and after this my MAX485 stopped reading values and the SD card also stopped. If I include the ds3231 library while commenting wire.h my code hangs while opening the SD card.

My whole code is attached below. Please check if anyone can help me in this regard. I just want to know do I make any technical errors while writing code or if I am using multiple communication in Arduino at a time this is messing my program to run in flow.

#include <ModbusMaster.h>
#include <SoftwareSerial.h>
#include <SPI.h>
#include <SD.h>
// #include <Wire.h>
// #include <ds3231.h>

#define MAX485_DE 5
#define MAX485_RE_NEG 4
// struct ts t; 
int myReg[1] = {304};
int pinCS = 10;

File myFile;
ModbusMaster node;
SoftwareSerial Serial2(7, 8);

void preTransmission() {
  digitalWrite(MAX485_RE_NEG, 1);
  digitalWrite(MAX485_DE, 1);
}

void postTransmission() {
  digitalWrite(MAX485_RE_NEG, 0);
  digitalWrite(MAX485_DE, 0);  
}

void setup() {

  Serial.begin(19200);
  // Wire.begin();
  // SDcard intilization Section
  Serial.println("Initializing SD card...");
  if (!SD.begin(pinCS)) {
    Serial.println("initialization failed!");
    while (1);
  }

  myFile = SD.open("ener101.csv", FILE_WRITE);
  myFile.print("Date");
  myFile.print(",");
  myFile.print("Time");
  myFile.print(",");
  myFile.print("Freq");
  myFile.print(",");
  myFile.print("U1");
  myFile.print(",");
  myFile.print("U2");
  myFile.print(",");
  myFile.print("U3");
  myFile.print(",");
  myFile.print("U12");
  myFile.print(",");
  myFile.print("U23");
  myFile.print(",");
  myFile.print("U31");
  myFile.print(",");
  myFile.print("I1");
  myFile.print(",");
  myFile.print("I2");
  myFile.print(",");
  myFile.print("I3");
  myFile.print(",");
  myFile.print("In");
  myFile.print(",");
  myFile.print("Pa");
  myFile.print(",");
  myFile.print("Pb");
  myFile.print(",");
  myFile.print("Pc");
  myFile.print(",");
  myFile.print("Psum");
  myFile.print(",");
  myFile.print("Qa");
  myFile.print(",");
  myFile.print("Qb");
  myFile.print(",");
  myFile.print("Qc");
  myFile.print(",");
  myFile.print("Qsum");
  myFile.print(",");
  myFile.print("Pfa");
  myFile.print(",");
  myFile.print("Pfb");
  myFile.print(",");
  myFile.print("Pfc");
  myFile.print(",");
  myFile.print("Pfsum");
  myFile.print(",");
  myFile.print("U-unbl");
  myFile.print(",");
  myFile.print("I-unbl");
  myFile.print(",");
  myFile.println("L/C/R");
  myFile.close();

  // RS-485 Section
  Serial2.begin(19200);
  pinMode(MAX485_RE_NEG, OUTPUT);
  pinMode(MAX485_DE, OUTPUT);

  digitalWrite(MAX485_RE_NEG, 0);
  digitalWrite(MAX485_DE, 0);

  node.begin(0, Serial2);
  node.preTransmission(preTransmission);
  node.postTransmission(postTransmission);
}

void loop() {
  // DS3231_get(&t);
  uint16_t resultMain;
  resultMain = node.readHoldingRegisters(myReg[0], 27);
  myFile = SD.open("ener101.csv", FILE_WRITE);
  Serial.println(myFile);
  delay(100);

  if (resultMain == node.ku8MBSuccess){
    // myFile.print(t.mday);
    // Serial.print(t.mday);
    // myFile.print(":");
    // Serial.print(":");
    // myFile.print(t.mon);
    // Serial.print(t.mon);
    // myFile.print(":");
    // Serial.print(":");
    // myFile.print(t.year);
    // Serial.print(t.year);
    // myFile.print(",");
    // Serial.print(",");
    // myFile.print(t.hour);
    // Serial.print(t.hour);
    // myFile.print(":");
    // Serial.print(":");
    // myFile.print(t.min);
    // Serial.print(t.min);
    // myFile.print(":");
    // Serial.print(":");
    // myFile.print(t.sec);
    // Serial.print(t.sec);
    // myFile.print(",");
    // Serial.print(",");
    myFile.print(node.getResponseBuffer(0) / 100.0f);
    Serial.print(node.getResponseBuffer(0) / 100.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(1) / 10.0f);
    Serial.print(node.getResponseBuffer(1) / 10.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(2) / 10.0f);
    Serial.print(node.getResponseBuffer(2) / 10.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(3) / 10.0f);
    Serial.print(node.getResponseBuffer(3) / 10.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(4) / 10.0f);
    Serial.print(node.getResponseBuffer(4) / 10.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(5) / 10.0f);
    Serial.print(node.getResponseBuffer(5) / 10.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(6) / 10.0f);
    Serial.print(node.getResponseBuffer(6) / 10.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(7) / 50.0f);
    Serial.print(node.getResponseBuffer(7) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(8) / 50.0f);
    Serial.print(node.getResponseBuffer(8) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(9) / 50.0f);
    Serial.print(node.getResponseBuffer(9) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(10) / 50.0f);
    Serial.print(node.getResponseBuffer(10) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(11) / 50.0f);
    Serial.print(node.getResponseBuffer(11) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(12) / 50.0f);
    Serial.print(node.getResponseBuffer(12) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(13) / 50.0f);
    Serial.print(node.getResponseBuffer(13) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(14) / 50.0f);
    Serial.print(node.getResponseBuffer(14) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(15) / 50.0f);
    Serial.print(node.getResponseBuffer(15) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(16) / 50.0f);
    Serial.print(node.getResponseBuffer(16) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(17) / 50.0f);
    Serial.print(node.getResponseBuffer(17) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(18) / 50.0f);
    Serial.print(node.getResponseBuffer(18) / 50.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(19) / 1000.0f);
    Serial.print(node.getResponseBuffer(19) / 1000.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(20) / 1000.0f);
    Serial.print(node.getResponseBuffer(20) / 1000.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(21) / 1000.0f);
    Serial.print(node.getResponseBuffer(21) / 1000.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(22) / 1000.0f);
    Serial.print(node.getResponseBuffer(22) / 1000.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(23) / 1000.0f);
    Serial.print(node.getResponseBuffer(23) / 1000.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.print(node.getResponseBuffer(24) / 1000.0f);
    Serial.print(node.getResponseBuffer(24) / 1000.0f);
    myFile.print(",");
    Serial.print(",");
    myFile.println(node.getResponseBuffer(25) / 1.0f);
    Serial.println(node.getResponseBuffer(25) / 1.0f);
    myFile.close();
  }else{
    Serial.println("Fetching error");
  }
  delay(1000);
}

Your topic has been moved to a more suitable location on the forum. Installation and Troubleshooting is not for problems with (nor for advice on) your project.

Are you saying that simply including those two includes but not using the functionalities gives the mentioned symptoms?

Which board are you using?

Thanks for moving it.

Yes, when I use "wire.h" and "ds3232.h" gives me the mentioned symptoms.

I am using Arduino UNO.