Split up usart reading functions into chip-based files. Use extensible Makefile