Topic permanente di programmazione newbie

ratto93:
Se non hanno cambiato il codice ASCII l'altro giorno dovrebbe funzionare allo stesso modo XD

No, l'ho dovute aggiungere le minuscole e trattarle come le maiuscole, comunque è ok. Invece:

while (Serial.available() == 0);   // aspetta il primo carattere
  
  serbuffer[0] = Serial.read();

tra queste due righe voglio mettere un controllo per rifiutare i caratteri che non rientrano nei range 0÷9 e A/a÷F/f, altrimenti la conversione esadecimale mi dà risultati sconvolgenti. Come posso fare?

In pratica devo poter accettare solo i caratteri con valore decimale tra 48 e 57 (0-9), tra 65 e 70 (A-F) e tra 97 e 102 (a-f); se il carattere rientra in questi range allora esegue la riga successiva, caricando il valore nel buffer, altrimenti dovrebbe restare in attesa del carattere come se non fosse stato premuto alcun tasto.