Scusatemi ma ho una riga dove compare (void).
Cioè void indica o una funzione che non restituisce nulla o consente di creare puntatori generici...ma messa tra le parentesi??
La riga in questione è la seguente:
if (uart->S1 & UART_S1_RDRF_MASK) {
(void)uart->D;
D è un registro dell'uart dove ci vanno dati letti o da scrivere...