C程式設計環境中使用printf的方式

2021-09-09 09:18:18 字數 976 閱讀 8623

由於在日常使用中經常碰到要使用printf的時候,每次都要去上網翻查一下,在此做記錄方便查詢

c語言中的標準庫中所用的標準輸出函式,預設的輸出裝置是顯示器,要實現串列埠或lcd的輸出,必須重新定義標準庫函式裡與輸出函式相關的函式。例如:printf輸出到串列埠,需要將fputc裡面的輸出指向串列埠(重定向),方法如下:

只要自己新增乙個int fputc(int ch, file *f)函式,能夠輸出字元就可以了

使用stm32cubemx配置串列埠工程後,想直接使用printf需要加以下**到usart.c的使用者**段:

/* user code begin 1 */

#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__ */

/** * @brief retargets the c library printf function to the usart.

* @param none

* @retval none

*/putchar_prototype

/* user code end 1 */

就這樣而不需要巨集定義任何內容了,**中粗暴的printf("hello world")吧~,此方法親測適用mdk和iar環境

———————————————————————2020.07.06更新———————————————————————

一些轉義字元

在MFC中使用printf

將以下 加入到對話方塊初始化函式oninitdialog 中allocconsole 控制台除錯視窗開啟 freopen conout w stdout 開啟中文控制台輸出支援在退出函式中加入以下 freeconsole 釋放控制台資源如果使用的是右上角預設的叉號退出介面,可以直接新增以下 void...

C語言中使用printf 列印漂亮的顏色字型

示例 printf 033 1 32m s 033 0m cmds i cmd ifndef color h define color h define none e 0m 清除顏色,即之後的列印為正常輸出,之前的不受影響 define black e 0 30m 深黑 define l black...

將C註冊到lua環境中使用

註冊到lua的方式有兩種,一種是lua直譯器,如果支援動態鏈結,使用動態鏈結機制,將函式介面編譯成動態鏈結庫,然後將動態鏈結庫放到lua的c路徑 lua cpath 中,然後在lua檔案中直接使用 require 這句話會使主機編寫的動態鏈結庫鏈結到lua,並尋找 將模組註冊到package.loa...