From ffeeb1aeaabb2f41f2a21738bcc5704909f82dce Mon Sep 17 00:00:00 2001 From: gnssuser Date: Thu, 22 May 2025 10:28:00 +0200 Subject: [PATCH] USART2 - USART6 bridge printf assigned to USART6 --- Core/Src/main.c | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/Core/Src/main.c b/Core/Src/main.c index bc27da1..6cb5a4f 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -17,11 +17,13 @@ */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ +#include +#include #include "main.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ - +#include "printf.h" /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -59,6 +61,13 @@ static void MX_USART6_UART_Init(void); /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ +/***************************************************************************//** +* @brief Character send interface for printf function +*//****************************************************************************/ +void uart_putc (void* p, char c) { + Usart6_PutByte(c); +} + /* USER CODE END 0 */ /** @@ -94,16 +103,31 @@ int main(void) MX_USART6_UART_Init(); /* USER CODE BEGIN 2 */ + Usart2_Init(); + Usart6_Init(); + init_printf(NULL, &uart_putc); // connect printf to UART + printf("Hello world. This is a Nucleo UART and printf sample with IRQ and ring buffer.\n"); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ - while (1) - { - /* USER CODE END WHILE */ + while (1) { + int c; - /* USER CODE BEGIN 3 */ - } + c = Usart2_GetByte(); + if (c != -1) { // new incoming data + Usart6_PutByte(c); // UART2rx --> UART6tx + } + + c = Usart6_GetByte(); + if (c != -1) { // new incoming data + Usart2_PutByte(c); // UART6rx --> UART2tx + } + + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } /* USER CODE END 3 */ }