Talking to my computer through Serial

  while (Serial.available()) {
    delay(2);  //delay to allow byte to arrive in input buffer
    char c = Serial.read();
  }

Please describe exactly what you think this is accomplishing.

Reading the characters and then throwing them away is a rather useless feat.