1. 程式人生 > >【STM32】keil MDK下重定向printf到串列埠(基於STM32CubeMX)

【STM32】keil MDK下重定向printf到串列埠(基於STM32CubeMX)

概述

在keil MDK環境下重定向printf與keil C51不同,由於本人使用了STM32CubeMX生成工程模板,HAL_USART_Transmit函式即是模板裡串列埠輸出的函式。由於printf最終是呼叫fputc輸出資料,fputc是一個弱引用(weak)函式,覆寫即可重定向printf

程式碼清單

extern USART_HandleTypeDef husart1;

int fputc(int ch, FILE *f) {
    HAL_USART_Transmit(&husart1, (uint8_t *)&ch, 1, 0xFFFF);
    return
ch; }

STM32CubeMX

拉到最底
STM32CubeMX下載