summaryrefslogtreecommitdiff
path: root/app/platform/stm32f0-gcc/uart.h
blob: 1cbc56f43744f3c7726ba495c6878ff780dfe497 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once
#include <cstddef>
#include "stm32f0xx.h"

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;