在vscode和cmake环境下串口重定向printf
·
正常创建一个带有串口的工程例如串口1
找到usart.c
/* USER CODE BEGIN 0 */
#include <stdio.h>
#include <errno.h>
/* 添加以下定义 */
#ifndef STDOUT_FILENO
#define STDOUT_FILENO 1
#endif
#ifndef STDERR_FILENO
#define STDERR_FILENO 2
#endif
int _write(int file, char *ptr, int len)
{
if (file == STDOUT_FILENO || file == STDERR_FILENO) {
HAL_UART_Transmit(&huart1, (uint8_t*)ptr, len, HAL_MAX_DELAY);
return len;
}
errno = EBADF;
return -1;
}
/* USER CODE END 0 */
就可以在工程中正常使用printf
参考文章:STM32通过UART实现printf重定向新手教程
更多推荐
所有评论(0)