#include #include #ifndef UART_UART_H_ #define UART_UART_H_ #define UART_RECEIVE_DMA_STREAM DMA2_Stream5 #define UART_SEND_DMA_STREAM DMA2_Stream7 #define UART_PERIPH USART1 #define UART_RCC_MASK RCC_APB2ENR_USART1EN #ifdef DEBUGBUILD #define UART_PORT GPIOA #define UART_PORT_RCC_MASK RCC_AHB1ENR_GPIOAEN #define UART_RX_PIN 10 #define UART_TX_PIN 9 #define UART_RX_PIN_ALTFUNC 7 #define UART_TX_PIN_ALTFUNC 7 #else #endif /* UART_DIV is 45.5625 => 115200 @ 84 MHz */ #define UART_DIV_FRACTION 9U /* Equals 9/16 = 0.5625 */ #define UART_DIV_MANTISSA 45U /* Equals 45 */ #define UART_BRR_REG_VALUE ((UART_DIV_MANTISSA<<4) | UART_DIV_FRACTION); void initUART(); void sendChar(char c); void sendString(char* s, int count); void uart_init_with_dma(); void uart_disable(); void uart_send_char(char c); void uart_send_array(const char *data, uint32_t len); void uart_send_string(const char *string); void uart_send_array_with_dma(const char *data, uint32_t len); void uart_send_string_with_dma(const char *string); int uart_receive_data_with_dma(const char **data, size_t *len); #endif /* UART_UART_H_ */