/* * Copyright 2020 Daniel Friesel * * SPDX-License-Identifier: BSD-2-Clause */ #include "driver/stdout.h" #include #include #include void StandardOutput::setup() { rcc_periph_clock_enable(RCC_USART2); gpio_mode_setup(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO2); gpio_set_af(GPIOA, GPIO_AF7, GPIO2); usart_set_baudrate(USART2, 115200); usart_set_databits(USART2, 8); usart_set_stopbits(USART2, USART_STOPBITS_1); usart_set_mode(USART2, USART_MODE_TX); usart_set_parity(USART2, USART_PARITY_NONE); usart_set_flow_control(USART2, USART_FLOWCONTROL_NONE); usart_enable(USART2); } void StandardOutput::put(char c) { usart_send_blocking(USART2, c); if (c == '\n') { put('\r'); } } StandardOutput kout;