summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--atmel-samd/common-hal/busio/UART.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/atmel-samd/common-hal/busio/UART.c b/atmel-samd/common-hal/busio/UART.c
index c682a14be..f172a1ecc 100644
--- a/atmel-samd/common-hal/busio/UART.c
+++ b/atmel-samd/common-hal/busio/UART.c
@@ -105,8 +105,9 @@ static void _busio_uart_interrupt_handler(uint8_t instance)
self->buffer_size++;
if (module->character_size == USART_CHARACTER_SIZE_9BIT) {
+ buffer_end = (self->buffer_start + self->buffer_size) % self->buffer_length;
/* 9-bit data, write next received byte to the buffer */
- self->buffer[buffer_end + 1] = (received_data >> 8);
+ self->buffer[buffer_end] = (received_data >> 8);
self->buffer_size++;
}