用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 重定向函数。

相关推荐
zd8451015002 小时前
51单片机-串口程序代码
单片机·嵌入式硬件·51单片机
JaneHan_2 小时前
STM32CubeMX+HAL+Keil5 GPIO输入 按键控制
stm32·单片机·嵌入式硬件
SariHcr1232 小时前
PG2K100千兆以太网接口速度测试
网络·嵌入式硬件·嵌入式实时数据库
平凡灵感码头2 小时前
C51 与 STM32 编程对比:从数据类型、关键字到程序结构
stm32·单片机·嵌入式硬件
LCG元2 小时前
STM32实战:基于STM32F103的HC-SR04超声波测距与OLED显示
stm32·单片机·嵌入式硬件
yoyobravery2 小时前
蓝桥杯第16届单片机
单片机·职场和发展·蓝桥杯
somi72 小时前
ARM-04-驱动-Misc ,Platform ,DTS
arm开发·单片机·嵌入式硬件·自用
never forget shyang3 小时前
CCS20.2.0使用教程
c语言·git·单片机
UTP协同自动化测试12 小时前
物联网模组测试难点 |APP指令下发+UART 响应+GPIO 电平变化,如何一次性验证?
功能测试·嵌入式硬件·物联网·模块测试