You can find new version of my UART library here.
This is library for using UART and USART (including those with 2 USARTs) in Atmel AVR microcontrollers.
Its main part is written in assembler and its core size is only about 380 bytes (receiver 190 and transmitter 192). You don't need take care about any U(S)ART interrupts handling. Input and output are buffered in buffers and its length can be changed (independently) at compilation time to any value between 2 and 254 (default is 16). It is true library (from linker point of view) and only used code will be included in the final FLASH image (eg. only transmitting or receiving part). There are included "glue" functions which allows use UART as input and/or output stream for standard IO functions like fprintf, puts, fgets etc. Examples and documentation included.
For each device there is produced separate library file, so if you want to change your program to work with another AVR you must only link it with different archive.
This version is supposed as release candidate quality.
Search project ID 233.