Arduino with SC16IS750

Got it! Here is the working code. The master code is on the Arduino with the SC16IS750 connected over I2C and the slave code is on the Arduino connected over TX/RX.
I remembered on my app for BLE connection on my Android phone. There was the same issue because of the limited buffer! Now I send one character after the other in both directions, because they passes the I2C connection for reading and writing. Here it is:

Master code:

/*Arduino 1 has the SC16IS750 connected on SDA/SCL
 *TX/RX of the SC16IS750 is connected to Arduino 2
 *VCC/GND
 *I2C of the SC16IS750 is connected to VCC
 *A0 and A1 of the SC16IS750 is connected as shown in the address table below
 */
 
#include <Wire.h>
#include <SC16IS750.h>

SC16IS750 i2cuart = SC16IS750(SC16IS750_PROTOCOL_I2C,SC16IS750_ADDRESS_AA);   /*Address table:  A1    A0    Address
                                                                                               VDD   VDD    0x90 => AA
                                                                                               VDD   GND    0x92 => AB
                                                                                               VDD   SCL    0x94 => AC
                                                                                               VDD   SDA    0x96 => AD
                                                                                               GND   VDD    0x98 => BA
                                                                                               GND   GND    0x9A => BB
                                                                                               GND   SCL    0x9C => BC
                                                                                               GND   SDA    0x9E => BD
                                                                                               SCL   VDD    0xA0 => CA
                                                                                               SCL   GND    0xA2 => CB
                                                                                               SCL   SCL    0xA4 => CC
                                                                                               SCL   SDA    0xA6 => CD
                                                                                               SDA   VDD    0xA8 => DA
                                                                                               SDA   GND    0xAA => DB
                                                                                               SDA   SCL    0xAC => DC
                                                                                               SDA   SDA    0xAE => DD
                                                                                               */

const byte bufferSize {10};
char serialBuffer[bufferSize+1] {""};
char myData[bufferSize];
char myData1[bufferSize];
char myData2[bufferSize];

char var;
int E = 0;
int F = 0;
int G = 0;
int H = 0;
int BUT = 0;

static byte i = 0;
static byte j = 0;
static byte k = 0;
int y = 0;


void setup (void)
{
  i2cuart.begin(9600);
  Serial.begin(38400);
}

void loop (void)
{

  Serial.print("E = ");
  Serial.println(E);
  Serial.print("F = ");
  Serial.println(F);
  Serial.print("G = ");
  Serial.println(G);
  Serial.print("H = ");
  Serial.println(H);
  Serial.print("BUT = ");
  Serial.println(BUT);

  
  command("A0");
  command("B55");
  command("C180");
  command("D125");
  command("@12");


while(i2cuart.available()) {
    char m = i2cuart.read();
    if(m != '\n') {
      myData[i++] = m;
    }
    
    else if(m == '\n') {
      i = 0;
      while(i <= strlen(myData) ) {
        if(isdigit(myData[i]) == true) {
          myData1[j] = myData[i];
          j++;
          i++;
        }
        else {
          myData2[k] = myData[i];
          k++;
          i++;
        }
      }
      memset(myData, 0, sizeof myData);
      j = 0;
      k = 0;
      i = 0;
      
      y = atoi(myData1);  //making the integer part
      var = myData2[0];

      memset(myData1, 0, sizeof myData1);
      memset(myData2, 0, sizeof myData2);

      switch(var) {
      case 'E' : E = y;
                 break;
      case 'F' : F = y;
                 break;
      case 'G' : G = y;
                 break;
      case 'H' : H = y;
                 break;
      case '#' : BUT = y;
                 break;
      }
    }
  }  
}



void command(String value) {
  memset(serialBuffer, 0, sizeof serialBuffer);
  sendToSlaveI2C(serialBuffer, value);
}


void sendToSlaveI2C (char *const buffer, String command)
{
  command.toCharArray(buffer, bufferSize);
  const size_t numberOfChar {strlen(buffer)};
  Serial.print("length: "); Serial.println(numberOfChar);

  for (byte i = 0; i < numberOfChar; i++)
  {
    i2cuart.write(buffer[i]);
    Serial.print("sent: ");
    Serial.println(buffer[i]);
  }
  i2cuart.write('\n');

}

Slave code:

/*Arduino 2 has the SC16IS750 connected on TX/RX
 */

const byte bufferSize {10};
char serialBuffer[bufferSize+1] {""};
char myData[bufferSize];
char myData1[bufferSize];
char myData2[bufferSize];

char var;
int A = 0;
int B = 0;
int C = 0;
int D = 0;
int BUT = 0;

static byte i = 0;
static byte j = 0;
static byte k = 0;
int y = 0;

  
void setup()
{
  Serial.begin(9600);
  
}

void loop() {

  
  Serial.print("A = ");
  Serial.println(A);
  Serial.print("B = ");
  Serial.println(B);
  Serial.print("C = ");
  Serial.println(C);
  Serial.print("D = ");
  Serial.println(D);
  Serial.print("BUT = ");
  Serial.println(BUT);


  command("E10");
  command("F5");
  command("G147");
  command("H251");
  command("#33");
  
  
  while(Serial.available()) {
    char m = Serial.read();
    if(m != '\n') {
      myData[i++] = m;
    }
    
    else if(m == '\n') {
      //Serial.print("myData: ");
      //Serial.println(myData);
      i = 0;
      while(i <= strlen(myData) ) {
        if(isdigit(myData[i]) == true) {
          myData1[j] = myData[i];
          j++;
          i++;
        }
        else {
          myData2[k] = myData[i];
          k++;
          i++;
        }
      }
      memset(myData, 0, sizeof myData);
      j = 0;
      k = 0;
      i = 0;
      //Serial.print("myData1: ");
      //Serial.println(myData1);
      //Serial.print("myData2: ");
      //Serial.println(myData2);
      
      y = atoi(myData1);  //making the integer part
      var = myData2[0];
      //Serial.println(var);
      //Serial.println(y);
      memset(myData1, 0, sizeof myData1);
      memset(myData2, 0, sizeof myData2);

      switch(var) {
      case 'A' : A = y;
                 break;
      case 'B' : B = y;
                 break;
      case 'C' : C = y;
                 break;
      case 'D' : D = y;
                 break;
      case '@' : BUT = y;
                 break;
      }
    }
  }
}


void command(String value) {
  memset(serialBuffer, 0, sizeof serialBuffer);
  sendToUART(serialBuffer, value);
}


void sendToUART (char *const buffer, String command)
{
  command.toCharArray(buffer, bufferSize);
  const size_t numberOfChar {strlen(buffer)};

  for (byte i = 0; i < numberOfChar; i++)
  {
    Serial.write(buffer[i]);
  }
  Serial.write('\n');

}