stm32 cube max+keil5的环境怎么printf重定向

main.c

复制代码
#include <stdio.h>
#include "stm32f1xx.h" 


int fputc(int ch, FILE *f)
{
    /* 1. 先进来就翻转灯------如果灯不闪,说明 printf 没链到这个函数 */
    //HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_14);

    /* 2. 限时等待,别让任务卡死 */
    uint32_t tick = HAL_GetTick();
    while (!(USART1->SR & USART_SR_TXE))
    {
        if (HAL_GetTick() - tick > 10)     // 10 ms 等不到就放弃
        {
            //HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_15);  // 再闪一次灯做"超时"提示
            return ch;                           // 直接返回,别让任务死
        }
    }

    USART1->DR = ch;
    return ch;
}

main.h

复制代码
int fputc(int ch, FILE *f);

就可以随便找个地方调用了printf("abc");

相关推荐
UTP协同自动化测试8 小时前
物联网模组测试难点 |APP指令下发+UART 响应+GPIO 电平变化,如何一次性验证?
功能测试·嵌入式硬件·物联网·模块测试
yoyobravery9 小时前
蓝桥杯第15届单片机满分
单片机·职场和发展·蓝桥杯
4caf110 小时前
作业2:6位数码管静态显示
嵌入式硬件·51单片机
不做无法实现的梦~11 小时前
STM32解析PPM协议
stm32·单片机·嵌入式硬件
czhaii12 小时前
基于Arm Cortex-M7内核GD32H7
单片机·嵌入式硬件
番茄灭世神12 小时前
MCU开发常见软件BUG总结(持续更新)
c语言·stm32·单片机·嵌入式·gd32
wanghanjiett12 小时前
双轮平衡车建模及控制 2 PID控制原理与调参
嵌入式硬件·控制算法
EVERSPIN12 小时前
SQPI PSRAM为单片机提供RAM扩展方案
单片机·嵌入式硬件·psram·sqpi psram
Ar-Sr-Na13 小时前
STM32现代化AI开发指南-VSCode环境配置(macOS)
c语言·人工智能·vscode·stm32·嵌入式硬件·硬件工程
进击的小头13 小时前
第6篇:嵌入式芯片算力核心来源:多级流水线架构与指令并行机制详解
单片机·嵌入式硬件·架构