diff --git a/hardware/sam/cores/sam/USARTClass.cpp b/hardware/sam/cores/sam/USARTClass.cpp index a352b6321..a1b511a72 100644 --- a/hardware/sam/cores/sam/USARTClass.cpp +++ b/hardware/sam/cores/sam/USARTClass.cpp @@ -123,7 +123,7 @@ void USARTClass::IrqHandler( void ) uint32_t status = _pUsart->US_CSR; // Did we receive data ? - if ((status & US_CSR_ENDRX) == US_CSR_ENDRX) + if ((status & US_CSR_RXRDY) == US_CSR_RXRDY) _rx_buffer->store_char( _pUsart->US_RHR ) ; // Acknowledge errors diff --git a/hardware/sam/variants/arduino_due/variant.cpp b/hardware/sam/variants/arduino_due/variant.cpp index e13ab3ccf..3f6b4b6cd 100644 --- a/hardware/sam/variants/arduino_due/variant.cpp +++ b/hardware/sam/variants/arduino_due/variant.cpp @@ -326,8 +326,28 @@ extern void init( void ) WDT_Disable( WDT ) ; // Initialize Serial port UART, common to all SAM3 variants - PIO_Configure( g_APinDescription[PINS_UART].pPort, g_APinDescription[PINS_UART].ulPinType, - g_APinDescription[PINS_UART].ulPin, g_APinDescription[PINS_UART].ulPinConfiguration ) ; + PIO_Configure( + g_APinDescription[PINS_UART].pPort, + g_APinDescription[PINS_UART].ulPinType, + g_APinDescription[PINS_UART].ulPin, + g_APinDescription[PINS_UART].ulPinConfiguration); + + // Initialize Serial ports USART + PIO_Configure( + g_APinDescription[PINS_USART0].pPort, + g_APinDescription[PINS_USART0].ulPinType, + g_APinDescription[PINS_USART0].ulPin, + g_APinDescription[PINS_USART0].ulPinConfiguration); + PIO_Configure( + g_APinDescription[PINS_USART1].pPort, + g_APinDescription[PINS_USART1].ulPinType, + g_APinDescription[PINS_USART1].ulPin, + g_APinDescription[PINS_USART1].ulPinConfiguration); + PIO_Configure( + g_APinDescription[PINS_USART2].pPort, + g_APinDescription[PINS_USART2].ulPinType, + g_APinDescription[PINS_USART2].ulPin, + g_APinDescription[PINS_USART2].ulPinConfiguration); // Initialize 10bit Analog Controller /* Enable peripheral clock.*/