OK, array di puntatori a funzione, ho provato funziona, scusa il gioco di parole
per pura leggibilità dichiari un tipo con una typedef
typedef void (* nomedeltipo)(void);
che significa che nomedeltipo è puntatore (la stellina) a funzione void che ha argomento void
poi prima del setup dichiari un array lungo una bytetata (neologismo che vuol dire tanti elementi quanti sono i possibili valori di un byte)
dicevo un array di puntatori a funzioni, una cosa del tipo
nomedeltipo listafunzioni[];
che crea l'array vuoto (i puntatori vuoti sono null, ricorda)
poi crei le fuznioni void argomento void che ti servono
poi nella setup inizializzi l'array con le funzioni
se 0X02 deve stampare farai
listafunzioni[0x02]=nomedellafuznionechestampa;
poi alla ricezione del byte ti basta eseguire la funzione corrispondente
listafunzioninumeroricevuto;
le parentesiapertechiuse " chiamano" la funzione puntata dal puntatore di fuznione nellennesimo elemento dell'array
ecco perchè AmOdio il "C"..........
PS, per evitare fraintendimenti, come con quell'altro della ruota che girava:
lo ho provato, non venirmi dire che non va!