Seeed TFT v2 problems displaying with incoming serial data

I have a Uno R3 and Seeed Studio TFT Touch Shield v2 and would like to send from PC to Uno over the serial (USB) numbers and have them displayed on the TFT. If my test is true, the screen blanks out, else it displays correctly.

#include <SPI.h>
#include <TFTv2.h>


int val=0;


void setup() {
  // put your setup code here, to run once:
  TFT_BL_ON;      // turn on the background light
  Tft.TFTinit();
  Serial.begin(9600);

}

void loop() {
  // put your main code here, to run repeatedly:
  
  Tft.drawString("Always here", 5,240,2,BLUE);
  if (Serial.available() > 0) {
    Tft.drawString("Something",5,120,4,GREEN);
    //val = Serial.read();
    //Tft.fillScreen();
    //Tft.drawNumber(val,5,80,4,GREEN);
    //delay(100);
  }
  else {
    Tft.drawString("No",5,40,4,GREEN);
    Tft.drawString("input",5,80,4,GREEN);
    Tft.drawString("Roger!",5,120,4,GREEN);
  }

}

noSerialData.jpg

serialData.jpg

The screen also goes blank when I send serial data to the unit with the following code. Seems to be a problem with the way I’m reading serial data.

#include <SPI.h>
#include <TFTv2.h>


int val=0;


void setup() {
  // put your setup code here, to run once:
  TFT_BL_ON;      // turn on the background light
  Tft.TFTinit();
  Serial.begin(9600);

}

void loop() {
  // put your main code here, to run repeatedly:
  
  Tft.drawString("Always here", 5,240,2,BLUE);
  if (Serial.available() > 0) {
    val = Serial.read();
  }
  else {
    val = -1;
  }
  
  Tft.fillScreen();
  Tft.drawNumber(val,5,80,4,GREEN);

}

Never mind, the arduino code is not the problem!!! It's the way I'm sending numbers to the unit. This works (at least the second modification) when I send numbers through the Arduino IDE Serial Monitor tool.