STM32多個串列埠printf

2021-06-29 12:58:45 字數 679 閱讀 7520

網上講的新增printf()到程式中一般都是這樣的(簡要提一下):

1.配置gpio ,usart,rcc 的configuration

2.勾選usb micro lib

3.在程式中新增:(標頭檔案需要新增#include )

#ifdef __gnuc__

#define putchar_prototype int __io_putchar(int ch)

#else

#define putchar_prototype int fputc(int ch, file *f)

#endif 

putchar_prototype

很明顯這個方法使用printf()只能輸出到usart1,如果需要使用多個usart呢,肯定不能都是用printf()。

方法如下是繼續是用usart2的printf()功能:

1.配置usart2的串列埠配置,gpio,rcc enable,跟上面類似

2.勾選usb micro lib,跟上面類似

3.新增標頭檔案#include ,編寫usart2的printf函式:

void usart2_printf (char *fmt, …)

va_end(arg_ptr);

}用法與printf類似,如int i=123;usart2_printf("%d",i);

STM32多串列埠 printf

網上很多多串列埠的教程,但是效果因人而異。我現在寫一篇正點原子精英板直接可以複製使用的教程,其他開發板也可參考我這種修改例程的方法。正點原子的串列埠實驗直接複製乙份,修改裡面的檔案即可。例程的標頭檔案是 ifndef usart h define usart h include stdio.h in...

在STM32使用串列埠printf

在stm32串列埠通訊程式中使用printf傳送資料,非常的方便。可在剛開始使用的時候總是遇到問題,常見的是硬體訪真時無法進入main主函式,其實只要簡單的配置一下就可以了。下面就說一下使用printf需要做哪些配置。有兩種配置方法 一 對工程屬性進行配置,詳細步驟如下 1 首先要在你的main 檔...

STM32使用HAL串列埠封裝printf

自己封裝乙個類似 printf 的函式 前提是已經可以實現串列埠傳送了 include include include uint32 t uart strlen uint8 t str return cnt void usart printf uint8 t usartport,char fmt,v...