Serial.read di un numero

Intanto vi ringrazio tutti per le numerose risposte!

@GINGARDU
Ti ringrazio per avermi postato il codice, ma mi sembra che sia quasi uguale a quello che avevo visto prima.
Il problema è che c'è quel delay() che rallenta il tutto!

Con i link che mi avete postato sono riuscito a fare qualcosa di interessante e sembra funzionare.
Ecco il codice che ho un po' modificato:

char temp[10];
int cont_t;
boolean inizio_t = false;
boolean fine_t = false;
int pwm;


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

}

void loop()
{
  
   if(Serial.available() > 0)
   {
     ottieni_dati();
     
     }
}

// -------------------- METODI -------------------

void ottieni_dati()
{
 char rx = Serial.read();
// --------------- TEMPERATURA -------------	 

          if(rx == '<')
	 {
	     inizio_t = true;
	     cont_t = 0;
	     temp[cont_t] = '\0';
	 }
	 else if(rx == '>')
	 {
	     fine_t = true;
	 }
	 else if(inizio_t == true)
	 {
	     temp[cont_t] = rx;
	     cont_t++;
	     temp[cont_t] = '\0';
   
	 }
   
   if(inizio_t && fine_t)
   {
	 // Converto la stringa in intero
	 int tempInt = atoi(temp);

	 // Uso il valore
        //Serial.print("Valore: ");
        Serial.println(tempInt);
        pwm = tempInt;
	  // Azzero tutto per la possima lettura
	 inizio_t = false;
	 fine_t = false;

	 cont_t = 0;
	 temp[cont_t] = '\0';
   }
   
}

Se a qualcuno dovesse servire:

-Per inviare un valore numerico esso deve essere racchiuso tra '<' e '>' ad esempio per inviare il numero 300 devo inviare '<300>'.
-Funziona anche se invio dati velocemente, per esempio io con la scroolbar in meno di un secondo potrei inviare più di 200 valori.
-Ho notato che se decommento la riga "Serial.print("Valore: ");" oltre ad inviare 200 valori invierei anche 200 volte la parola "Valore:" e quindi inizierebbe a inviare dati a scatti con alcuni valori sballati. Io ho risolto aumentando il baud a 115200.