cubemx 串口重载与打印
1)cubemx生成工程,配置串口
2)在main.c中添加代码
/* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "stdio.h" /* USER CODE END Includes */ /* USER CODE BEGIN 3 */ printf(" the uart is ready! \r\n" ); } /* USER CODE END 3 */ /* USER CODE BEGIN 4 */ //重定向c库函数printf到串口USARTx,重定向后可使用printf函数 int fputc(int ch, FILE *f) { /* 发送一个字节数据到串口USARTx */ HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF); return (ch); } //重定向c库函数scanf到串口USARTx,重写向后可使用scanf、getchar等函数 int fgetc(FILE *f) { int ch; /* 等待串口输入数据 */ while (__HAL_UART_GET_FLAG(&huart2, UART_FLAG_RXNE) == RESET); HAL_UART_Receive(&huart1, (uint8_t *)&ch, 1, 0xFFFF); return (ch); } /* USER CODE END 4 */
这里使用的是 串口1,根据需要可以修改成相应的串口句柄。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)