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");

相关推荐
Nan_Feng_ya6 分钟前
基于STM32的智能手表复刻成功(完全开源)
arm开发·stm32·pcb工艺·智能手表
HalvmånEver16 分钟前
Linux:基于socket套接字写的简易英译汉翻译服务器
单片机·嵌入式硬件
jianqiang.xue21 分钟前
ESP32-P4 看门狗复位全解析:HP_SYS_HP_WDT_RESET 故障排查实战
单片机·mcu·esp32·idf
somi724 分钟前
51单片机-04-DS18B20 数字温度传感器
单片机·嵌入式硬件·51单片机
至为芯28 分钟前
PY32F003至为芯支持32位ARM内核的低成本MCU微控制器
单片机·集成电路·芯片
zjxtxdy37 分钟前
STM32开发板简介
stm32·单片机·嵌入式硬件
【 STM32开发 】44 分钟前
【STM32 + CubeMX 教程】RTC 实时时钟 之 闹钟 -- F407篇
stm32·单片机·嵌入式硬件
weiyvyy1 小时前
接口开发的完整流程:从需求到验证
驱动开发·嵌入式硬件·硬件架构·硬件工程
MC_J1 小时前
STM32+FMC驱动W9825G6 SDRAM程序以及遇到的问题讲解
stm32·单片机
少年潜行1 小时前
【开源】STM32驱动BH1750(附开源代码)
单片机