AVR Serial Library
The avrSerial Library enables interrupt-driven UART communication on all available UART modules. Each module has it's own receive and transmit buffer. XON/XOFF Flow Control for the receiving end can be enabled. At the moment, the following AtMega types are supported:
AtMega8 AtMega16 AtMega32 AtMega8515 AtMega8535 AtMega323 AtMega2560 AtMega2561 AtMega1280 AtMega1281 AtMega640 AtMega168
To add another processor, just get the register names from the data sheet and put them in the header file.