Sample usage USART2 and USART6

printf to USART2
gnssuser 4 weeks ago
parent e58426d8d3
commit 84c7a6bb67

@ -17,11 +17,13 @@
*/ */
/* USER CODE END Header */ /* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/ /* Includes ------------------------------------------------------------------*/
#include <usart2_it.h>
#include <usart6_it.h>
#include "main.h" #include "main.h"
/* Private includes ----------------------------------------------------------*/ /* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */ /* USER CODE BEGIN Includes */
#include "printf.h"
/* USER CODE END Includes */ /* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/ /* Private typedef -----------------------------------------------------------*/
@ -59,6 +61,13 @@ static void MX_USART6_UART_Init(void);
/* Private user code ---------------------------------------------------------*/ /* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */ /* USER CODE BEGIN 0 */
/***************************************************************************//**
* @brief Character send interface for printf function
*//****************************************************************************/
void uart_putc (void* p, char c) {
Usart2_PutByte(c);
}
/* USER CODE END 0 */ /* USER CODE END 0 */
/** /**
@ -94,16 +103,27 @@ int main(void)
MX_USART6_UART_Init(); MX_USART6_UART_Init();
/* USER CODE BEGIN 2 */ /* 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 */ /* USER CODE END 2 */
/* Infinite loop */ /* Infinite loop */
/* USER CODE BEGIN WHILE */ /* USER CODE BEGIN WHILE */
while (1) while (1) {
{ static uint32_t Ctr = 0;
/* USER CODE END WHILE */
int ch = Usart2_GetByte();
/* USER CODE BEGIN 3 */ if (ch != -1) { // new incoming data
} Usart6_PutByte(ch); // UART2rx --> UART6tx
printf("%u: %u (0x%02X)\n", Ctr, ch); // print received character code
Ctr++;
}
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */ /* USER CODE END 3 */
} }

Loading…
Cancel
Save