diff --git a/readme.txt b/readme.txt index 583d6dd51..fa9602163 100644 --- a/readme.txt +++ b/readme.txt @@ -30,7 +30,7 @@ UPDATES 0005 -ATmega168 support on the way (currently timers and pwm working). +ATmega168 support in the AVR libraries. New Wiring-compatible randomSeed(), random(max) and random(min, max) functions (except operating on longs instead of floats). Fixed bug that sometimes caused uploading of old versions of a sketch. diff --git a/targets/arduino/uart.h b/targets/arduino/uart.h index 26e915acc..16a14ba5d 100755 --- a/targets/arduino/uart.h +++ b/targets/arduino/uart.h @@ -58,6 +58,20 @@ #if defined(UBRR) && !defined(UBRRL) #define UBRRL UBRR #endif +// DAM: it seems the ATmega168 includes a '0' in its register names, despite +// having only one uart +#if defined(__AVR_ATmega168__) + #define RXCIE RXCIE0 + #define TXCIE TXCIE0 + #define RXEN RXEN0 + #define TXEN TXEN0 + #define UDR UDR0 + #define UCR UCSR0B + #define UBRRL UBRR0L + #define UBRRH UBRR0H + #define SIG_UART_TRANS USART_TX_vect + #define SIG_UART_RECV USART_RX_vect +#endif // compatibility with dual-uart processors // (if you need to use both uarts, please use the uart2 library) #if defined(__AVR_ATmega128__)