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 AtMega168 AtMega328 AtMega48 AtMega88 AtMega168p AtMega328p AtMega48p AtMega88p AtMega2561 AtMega1281 AtMega1284p AtMega2560 AtMega1280 AtMega640 AtTiny2313 AtTiny2313a AtTiny4313 AtXMega128a1
To add another processor, just get the register names from the data sheet and put them in the header file.