Serial/USB Connectivity Issues

void printChar(byte c, byte x, byte y) {
  byte bitmask, *pf, bitstart = 128;
  int cindex, iFont, count;
  
  setXY(x, y, 5, 9);
  
  iFont = (c - ' ') * 45 / 8;

  bitstart = 128 >> (((c - ' ') * 45) % 8);
  
  pf = &Font5x9Mono[iFont];
  
  count = 0;
  
  for (cindex=0; cindex<6; cindex++) {
    for (bitmask=bitstart; bitmask>0; bitmask=bitmask>>1) {
       if (count > 45) return;
       if (*pf&bitmask)
         setPixel(gr, gg, gb);
       else
         setPixel(0, 0, 0); 
       count++;
    }
    bitstart = 128;
    pf++;
  }
}

void setColor(byte r, byte g, byte b) {
  gr = r;
  gg = g;
  gb = b;
}

void lcdInit() {

  digitalWrite(CS, 0);
  digitalWrite(SDA2, 0);
  digitalWrite(CLK, 1);

  digitalWrite(RESET, 1);
  digitalWrite(RESET, 0);
  digitalWrite(RESET, 1);

  digitalWrite(CLK, 1);
  digitalWrite(SDA2, 1);
  digitalWrite(CLK, 1);

  delay(10);

  //Software Reset
  sendCMD(0x01);

  // Write Contrast
  sendCMD(0x25);
  sendData(64);

  //Sleep Out and booster on
  sendCMD(0x11);

  // Booster on
  //sendCMD(0x03);

  delay(10);

  // Display Inversion off
  sendCMD(0x20);

  // Idle Mode off
  sendCMD(0x38);

  // Display on
  sendCMD(0x29);

  // Normal Mode on
  sendCMD(0x13);

  // Memory Data Access control
  sendCMD(0x36);
  sendData(0x60);
  // sendData(0x00);
  //sendData(8|128);

  sendCMD(0x3A);
  sendData(5);   //16-Bit per Pixel

 // Color set
  // sendCMD(0x2D);
  // sendDATA(0x00);

  // X_Address or Column Address Area
  sendCMD(0x2A);
  sendData(0);
  sendData(127);

  // Frame Frequency Select
  sendCMD(0xB4);
  sendData(0x03);
  sendData(0x08);
  sendData(0x0b);
  sendData(0x0e);

  // Display Control
  sendCMD(0xBA);
  sendData(0x07);
  sendData(0x0D);

  //Page Adress Set
  sendCMD(0x2B);
  sendData(0);
  sendData(127);
}