Ovviamente se sai programmare bene (io no, sto imparando) magari trovi altre 100 forme migliori di fare la ricezione dei comandi, nel mio caso, al ricevere un comando da seriale, il ciclo if..else if mi seleziona il primo carattere arrivato (il comando), poi lo indirizza alla function corrispondente (per facilitare il mio compito) ma per evitare di ripetere le stesse istruzioni della function ->RX_Data() per quanti comandi ne ho, quindi allungare il programma di molto sia di lunghezza in linee scritte che in bytes occupati in compilazione, ho "meccanizzato" una parte delle operazioni ripetitive, il mio programma ha comandi dalla "a" alla "o" (15 comandi) per ora e quasi tutti in ricezione, e non sono nemmeno ad 1/4 del totale, capirai che ci vuole un certo ordine. Come detto, magari un esperto lo farebbe in 4 righe, io non sono all' altezza per il momento.
ciao.