Merge branch 'ide-1.5.x-hwserial-cleanup' of github.com:matthijskooijman/Arduino into matthijskooijman-ide-1.5.x-hwserial-cleanup

This commit is contained in:
Cristian Maglie 2014-05-23 21:16:42 +02:00
commit 1ee86b6bcb
5 changed files with 22 additions and 76 deletions

View File

@ -117,7 +117,7 @@ void HardwareSerial::begin(unsigned long baud, byte config)
baud_setting = (F_CPU / 8 / baud - 1) / 2; baud_setting = (F_CPU / 8 / baud - 1) / 2;
} }
// assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) // assign the baud_setting, a.k.a. ubrr (USART Baud Rate Register)
*_ubrrh = baud_setting >> 8; *_ubrrh = baud_setting >> 8;
*_ubrrl = baud_setting; *_ubrrl = baud_setting;

View File

@ -43,7 +43,7 @@
#elif defined(USART_RXC_vect) #elif defined(USART_RXC_vect)
ISR(USART_RXC_vect) // ATmega8 ISR(USART_RXC_vect) // ATmega8
#else #else
#error "Don't know what the Data Received vector is called for the first UART" #error "Don't know what the Data Received vector is called for Serial"
#endif #endif
{ {
Serial._rx_complete_irq(); Serial._rx_complete_irq();
@ -58,7 +58,7 @@ ISR(USART0_UDRE_vect)
#elif defined(USART_UDRE_vect) #elif defined(USART_UDRE_vect)
ISR(USART_UDRE_vect) ISR(USART_UDRE_vect)
#else #else
#error "Don't know what the Data Register Empty vector is called for the first UART" #error "Don't know what the Data Register Empty vector is called for Serial"
#endif #endif
{ {
Serial._tx_udr_empty_irq(); Serial._tx_udr_empty_irq();

View File

@ -36,39 +36,29 @@
#if defined(HAVE_HWSERIAL1) #if defined(HAVE_HWSERIAL1)
#if defined(USART_RX_vect) #if defined(UART1_RX_vect)
ISR(USART_RX_vect) ISR(UART1_RX_vect)
#elif defined(USART1_RX_vect) #elif defined(USART1_RX_vect)
ISR(USART1_RX_vect) ISR(USART1_RX_vect)
#elif defined(USART_RXC_vect)
ISR(USART_RXC_vect) // ATmega8
#else #else
#error "Don't know what the Data Received vector is called for the first UART" #error "Don't know what the Data Register Empty vector is called for Serial1"
#endif #endif
{ {
Serial1._rx_complete_irq(); Serial1._rx_complete_irq();
} }
#if defined(UART1_UDRE_vect) #if defined(UART1_UDRE_vect)
ISR(UART1_UDRE_vect) ISR(UART1_UDRE_vect)
#elif defined(UART_UDRE_vect)
ISR(UART_UDRE_vect)
#elif defined(USART1_UDRE_vect) #elif defined(USART1_UDRE_vect)
ISR(USART1_UDRE_vect) ISR(USART1_UDRE_vect)
#elif defined(USART_UDRE_vect)
ISR(USART_UDRE_vect)
#else #else
#error "Don't know what the Data Register Empty vector is called for the first UART" #error "Don't know what the Data Register Empty vector is called for Serial1"
#endif #endif
{ {
Serial1._tx_udr_empty_irq(); Serial1._tx_udr_empty_irq();
} }
#if defined(UBRRH) && defined(UBRRL) HardwareSerial Serial1(&UBRR1H, &UBRR1L, &UCSR1A, &UCSR1B, &UCSR1C, &UDR1);
HardwareSerial Serial1(&UBRRH, &UBRRL, &UCSRA, &UCSRB, &UCSRC, &UDR);
#else
HardwareSerial Serial1(&UBRR1H, &UBRR1L, &UCSR1A, &UCSR1B, &UCSR1C, &UDR1);
#endif
// Function that can be weakly referenced by serialEventRun to prevent // Function that can be weakly referenced by serialEventRun to prevent
// pulling in this file if it's not otherwise used. // pulling in this file if it's not otherwise used.

View File

@ -36,39 +36,17 @@
#if defined(HAVE_HWSERIAL2) #if defined(HAVE_HWSERIAL2)
#if defined(USART_RX_vect) ISR(USART2_RX_vect)
ISR(USART_RX_vect) {
#elif defined(USART2_RX_vect) Serial2._rx_complete_irq();
ISR(USART2_RX_vect) }
#elif defined(USART_RXC_vect)
ISR(USART_RXC_vect) // ATmega8
#else
#error "Don't know what the Data Received vector is called for the first UART"
#endif
{
Serial2._rx_complete_irq();
}
#if defined(UART2_UDRE_vect)
ISR(UART2_UDRE_vect)
#elif defined(UART_UDRE_vect)
ISR(UART_UDRE_vect)
#elif defined(USART2_UDRE_vect)
ISR(USART2_UDRE_vect) ISR(USART2_UDRE_vect)
#elif defined(USART_UDRE_vect)
ISR(USART_UDRE_vect)
#else
#error "Don't know what the Data Register Empty vector is called for the first UART"
#endif
{ {
Serial2._tx_udr_empty_irq(); Serial2._tx_udr_empty_irq();
} }
#if defined(UBRRH) && defined(UBRRL) HardwareSerial Serial2(&UBRR2H, &UBRR2L, &UCSR2A, &UCSR2B, &UCSR2C, &UDR2);
HardwareSerial Serial2(&UBRRH, &UBRRL, &UCSRA, &UCSRB, &UCSRC, &UDR);
#else
HardwareSerial Serial2(&UBRR2H, &UBRR2L, &UCSR2A, &UCSR2B, &UCSR2C, &UDR2);
#endif
// Function that can be weakly referenced by serialEventRun to prevent // Function that can be weakly referenced by serialEventRun to prevent
// pulling in this file if it's not otherwise used. // pulling in this file if it's not otherwise used.

View File

@ -36,39 +36,17 @@
#if defined(HAVE_HWSERIAL3) #if defined(HAVE_HWSERIAL3)
#if defined(USART_RX_vect) ISR(USART3_RX_vect)
ISR(USART_RX_vect) {
#elif defined(USART3_RX_vect) Serial3._rx_complete_irq();
ISR(USART3_RX_vect) }
#elif defined(USART_RXC_vect)
ISR(USART_RXC_vect) // ATmega8
#else
#error "Don't know what the Data Received vector is called for the first UART"
#endif
{
Serial3._rx_complete_irq();
}
#if defined(UART3_UDRE_vect)
ISR(UART3_UDRE_vect)
#elif defined(UART_UDRE_vect)
ISR(UART_UDRE_vect)
#elif defined(USART3_UDRE_vect)
ISR(USART3_UDRE_vect) ISR(USART3_UDRE_vect)
#elif defined(USART_UDRE_vect)
ISR(USART_UDRE_vect)
#else
#error "Don't know what the Data Register Empty vector is called for the first UART"
#endif
{ {
Serial3._tx_udr_empty_irq(); Serial3._tx_udr_empty_irq();
} }
#if defined(UBRRH) && defined(UBRRL) HardwareSerial Serial3(&UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UCSR3C, &UDR3);
HardwareSerial Serial3(&UBRRH, &UBRRL, &UCSRA, &UCSRB, &UCSRC, &UDR);
#else
HardwareSerial Serial3(&UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UCSR3C, &UDR3);
#endif
// Function that can be weakly referenced by serialEventRun to prevent // Function that can be weakly referenced by serialEventRun to prevent
// pulling in this file if it's not otherwise used. // pulling in this file if it's not otherwise used.