用VScode+CubeMX进行串口打印

1:创建工程参考链接

2:将参考链接里面的fputc这一块代码进行更换;

复制代码
int fputc(int c,FILE *f)
{
    uint8_t ch[1]={c};
    HAL_UART_Transmit(&huart1,ch,1,0xFFFF);
    return c;
}

改换成代码:

复制代码
#include <stdio.h>
#include <sys/unistd.h>
#include <sys/stat.h>

/* USER CODE BEGIN 4 */
// 关闭标准输出缓冲,printf 立即生效

/* USER CODE BEGIN 4 */
int _write(int file, char *ptr, int len)
{
    HAL_UART_Transmit(&huart1, (uint8_t*)ptr, len, 100);
    return len;
}
/* USER CODE END 4 */

原因:VSCode + GCC 环境必须用 _write;fputc 是 Keil MDK(ARMCC 编译器)专用的 printf 重定向函数;_write 是 GCC(VSCode/CubeIDE 用)专用的 printf 重定向函数。

相关推荐
Deitymoon2 小时前
STM32——外部中断按键控制led
stm32·单片机·嵌入式硬件
czwxkn2 小时前
7STM32(stdl)flash内部闪存
stm32·单片机·嵌入式硬件
咕噜咕噜啦啦2 小时前
STlink下载程序
stm32·单片机
Deitymoon4 小时前
STM32——串口中断接收
stm32·单片机·嵌入式硬件
charlie1145141915 小时前
嵌入式C++实践开发第21篇(单片机实践):按钮输入 —— 硬件原理、消抖与HAL API
开发语言·c++·单片机
一起搞IT吧5 小时前
Android性能系列专题理论之十一:block IO问题分析思路
android·嵌入式硬件·智能手机·性能优化
余生皆假期-5 小时前
YuanHub 源码分析【一】FlashDB 初始化与项目应用
笔记·单片机·嵌入式硬件
Deitymoon6 小时前
STM32——串口通信发送数据
stm32·单片机·嵌入式硬件
玩转单片机与嵌入式6 小时前
嵌入式AI场景:哪些应用场景不适合将AI模型部署到单片机(MCU)中?
人工智能·单片机·嵌入式硬件
czwxkn7 小时前
8STM32(stdl)低功耗模式
stm32·单片机·嵌入式硬件