uart: minor, improve readability

This commit is contained in:
King Kévin 2020-02-11 12:23:10 +01:00
parent 4bfcca9d50
commit 2d39e39999
2 changed files with 8 additions and 8 deletions

View File

@ -13,9 +13,9 @@
*
*/
/** library for UART communication (code)
* @file uart.c
* @file
* @author King Kévin <kingkevin@cuvoodoo.info>
* @date 2016-2018
* @date 2016-2020
* @note peripherals used: USART @ref uart
*/
@ -90,12 +90,12 @@ void uart_flush(void)
void uart_putchar_nonblocking(char c)
{
while (tx_used>=LENGTH(tx_buffer)) { // idle until buffer has some space
while (tx_used >= LENGTH(tx_buffer)) { // idle until buffer has some space
usart_enable_tx_interrupt(USART(UART_ID)); // enable transmit interrupt
// don't go to sleep since this might prevent an interrupt
}
usart_disable_tx_interrupt(USART(UART_ID)); // disable transmit interrupt to prevent index corruption
tx_buffer[(tx_i+tx_used)%LENGTH(tx_buffer)] = c; // put character in buffer
tx_buffer[(tx_i + tx_used) % LENGTH(tx_buffer)] = c; // put character in buffer
tx_used++; // update used buffer
usart_enable_tx_interrupt(USART(UART_ID)); // enable transmit interrupt
}
@ -107,8 +107,8 @@ void USART_ISR(UART_ID)(void)
if (!tx_used) { // no data in the buffer to transmit
usart_disable_tx_interrupt(USART(UART_ID)); // disable transmit interrupt
} else {
usart_send(USART(UART_ID),tx_buffer[tx_i]); // put data in transmit register
tx_i = (tx_i+1)%LENGTH(tx_buffer); // update location on buffer
usart_send(USART(UART_ID), tx_buffer[tx_i]); // put data in transmit register
tx_i = (tx_i + 1) % LENGTH(tx_buffer); // update location on buffer
tx_used--; // update used size
}
}

View File

@ -13,9 +13,9 @@
*
*/
/** library for UART communication (API)
* @file uart.h
* @file
* @author King Kévin <kingkevin@cuvoodoo.info>
* @date 2016-2018
* @date 2016-2020
* @note peripherals used: USART @ref uart
*/
#pragma once