Implemented uart reading based on interrupts and shared memory with
run_uart.
Resolved merge conflict