modified:   uart.c