From 34746d3783af1ae601487c88f0a7e44f81842618 Mon Sep 17 00:00:00 2001 From: Oxore Date: Thu, 9 Mar 2023 01:42:59 +0300 Subject: Impl UART buffering (still not tested) --- app/platform/stm32f0-gcc/uart.h | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'app/platform/stm32f0-gcc/uart.h') diff --git a/app/platform/stm32f0-gcc/uart.h b/app/platform/stm32f0-gcc/uart.h index 176f847..1cbc56f 100644 --- a/app/platform/stm32f0-gcc/uart.h +++ b/app/platform/stm32f0-gcc/uart.h @@ -2,11 +2,20 @@ #include #include "stm32f0xx.h" -// Non-blocking buffered write -size_t UARTWrite(USART_TypeDef*, const void *data, size_t nbytes); -// Blocking write directly into data register -size_t UARTWriteDirect(USART_TypeDef*, const void *data, size_t nbytes); -// Non-blocking buffered read -size_t UARTRead(USART_TypeDef*, void *data, size_t nbytes); -// Blocking read directly from data register -size_t UARTReadDirect(USART_TypeDef*, void *data, size_t nbytes); +struct UART; + +/// Non-blocking buffered write +size_t UARTWrite(UART*, const void *buf, size_t nbytes); +/// Blocking write directly into data register +size_t UARTWriteDirect(UART*, const void *buf, size_t nbytes); +/// Non-blocking buffered read +size_t UARTRead(UART*, void *buf, size_t nbytes); +/// Blocking read directly from data register +size_t UARTReadDirect(UART*, void *buf, size_t nbytes); +/// Generic interrupt handler +void UARTHandleInterrupt(UART*); + +extern UART g_uart1; +extern UART g_uart2; +extern UART g_uart3; +extern UART g_uart4; -- cgit v1.2.3