USART2 - USART6 bridge

printf assigned to USART6
master
gnssuser 4 weeks ago
parent e58426d8d3
commit ffeeb1aeaa

@ -17,11 +17,13 @@
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include <usart2_it.h>
#include <usart6_it.h>
#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 */
}

Loading…
Cancel
Save