#pragma once #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);