STM32學習記錄 printf函式重定位

2021-08-22 19:43:32 字數 1270 閱讀 7059

功能:

重定位printf函式,使printf作為串列埠列印輸出函式。代替usart_send_string()函式

步驟:

usart.c中包含usart初始化函式

1、usart初始化(使能時鐘、使能gpio、gpio和usart初始化)

2、開啟usart

3、在usart.c中加入如下**

#ifdef __gnuc__ 

/* with gcc/raisonance, small printf (option ld linker->libraries->small printf

set to 'yes') calls __io_putchar() */

#define putchar_prototype int _

_io_putchar(int ch)

#else

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

#endif /* __gnuc__ */

/*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

****

* function name : putchar_prototype

* description : retargets the c library printf function to the usart.

* input : none

* output : none

* return : none

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

****/

putchar_prototype

4、在usart.h中新增標頭檔案

stm32學習記錄

讓自己別忘了大學裡學的東西,那麼就把它記錄下下來,效率會比忘記然後重新再去找資料再重頭學高的多 先講講定時器的基礎定時功能 1.先做乙個形象的比喻 手錶 秒鐘 時鐘 定時器 定時器內部時鐘 定時器輸出時鐘 它們倆基本相同,不同的是,對於手錶是秒鐘和分鐘之間的進製是固定為60,而對於定時器,定時器內部...

STM32多個串列埠printf

網上講的新增printf 到程式中一般都是這樣的 簡要提一下 1.配置gpio usart,rcc 的configuration 2.勾選usb micro lib 3.在程式中新增 標頭檔案需要新增 include ifdef gnuc define putchar prototype int i...

STM32多串列埠 printf

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