From 6610a91ce064c65bdfa22a105dde8582c60fa3f1 Mon Sep 17 00:00:00 2001 From: Dominic Clifton Date: Fri, 12 Dec 2014 18:23:40 +0000 Subject: [PATCH] Optimize uart buffer counter incrementing. --- src/main/drivers/serial_uart_stm32f10x.c | 6 ++---- src/main/drivers/serial_uart_stm32f30x.c | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/drivers/serial_uart_stm32f10x.c b/src/main/drivers/serial_uart_stm32f10x.c index 2c978e9355..8cc1519df1 100644 --- a/src/main/drivers/serial_uart_stm32f10x.c +++ b/src/main/drivers/serial_uart_stm32f10x.c @@ -58,8 +58,7 @@ void usartIrqCallback(uartPort_t *s) if (s->port.callback) { s->port.callback(s->USARTx->DR); } else { - s->port.rxBuffer[s->port.rxBufferHead] = s->USARTx->DR; - s->port.rxBufferHead++; + s->port.rxBuffer[s->port.rxBufferHead++] = s->USARTx->DR; if (s->port.rxBufferHead >= s->port.rxBufferSize) { s->port.rxBufferHead = 0; } @@ -67,8 +66,7 @@ void usartIrqCallback(uartPort_t *s) } if (SR & USART_FLAG_TXE) { if (s->port.txBufferTail != s->port.txBufferHead) { - s->USARTx->DR = s->port.txBuffer[s->port.txBufferTail]; - s->port.txBufferTail++; + s->USARTx->DR = s->port.txBuffer[s->port.txBufferTail++]; if (s->port.txBufferTail >= s->port.txBufferSize) { s->port.txBufferTail = 0; } diff --git a/src/main/drivers/serial_uart_stm32f30x.c b/src/main/drivers/serial_uart_stm32f30x.c index 66524ca463..d32119d926 100644 --- a/src/main/drivers/serial_uart_stm32f30x.c +++ b/src/main/drivers/serial_uart_stm32f30x.c @@ -352,8 +352,7 @@ void usartIrqHandler(uartPort_t *s) if (s->port.callback) { s->port.callback(s->USARTx->RDR); } else { - s->port.rxBuffer[s->port.rxBufferHead] = s->USARTx->RDR; - s->port.rxBufferHead++; + s->port.rxBuffer[s->port.rxBufferHead++] = s->USARTx->RDR; if (s->port.rxBufferHead >= s->port.rxBufferSize) { s->port.rxBufferHead = 0; } @@ -362,8 +361,7 @@ void usartIrqHandler(uartPort_t *s) if (!s->txDMAChannel && (ISR & USART_FLAG_TXE)) { if (s->port.txBufferTail != s->port.txBufferHead) { - USART_SendData(s->USARTx, s->port.txBuffer[s->port.txBufferTail]); - s->port.txBufferTail++; + USART_SendData(s->USARTx, s->port.txBuffer[s->port.txBufferTail++]); if (s->port.txBufferTail >= s->port.txBufferSize) { s->port.txBufferTail = 0; }