uart: minor, improve readability
This commit is contained in:
parent
4bfcca9d50
commit
2d39e39999
12
lib/uart.c
12
lib/uart.c
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue