// 新增標頭檔案
#include "stdio.h"
#include "stdarg.h"
//全域性變數
bit ti_busy;
unsigned char idata putbuf[100]; //最大數量
/* idata注釋:
定義乙個位元組型的變數,這個變數儲存在ram的idata區.微控制器的儲存主要分為四個區域:data、idata、code、xdata。
data區:微控制器能直接訪問的直接定址ram區,00h-7fh
idata區:微控制器間接防問的ram區,80h-ffh
code區:微控制器的內部程式儲存區,也就是微控制器內建的falsh
xdata區:微控制器外部定址區,一般指片外的儲存器,0000h-ffffh
*/// 串列埠列印函式實現
void debug_printf(char* fmt,...)
memset(putbuf, 0, sizeof(putbuf)); //清空快取(自己實現)
}//main入口函式
void main()
} //中斷處理函式
void uart1() interrupt 4 }
COIDE下重定向printf
在stm32下,可能需要重定向printf到串列埠,而coide下提供了重定向printf的元件,使用起來是相當方便的。先add這個元件,然後在printf.c下稍加修改即可使用了。先新增串列埠的標頭檔案。然後,修改printchar函式,讓它使用串列埠傳送資料。此外,還需要注釋這一句,否則鏈結時會...
重定向printf到串列埠
參考鏈結 stm32 hal庫學習 三 adc取樣以及printf的使用 stm32cubeide 二 printf重定向設定 stm32cubeide實現printf重定向輸出到串列埠 在main.c檔案中插入如下 user code begin 0 include stdio.h ifdef g...
fputc函式重寫實現printf重定向
一,printf重定向原理 1,自己重寫c的庫函式 鏈結器檢查到使用者編寫了與c庫函式相同名字的函式時,優先呼叫使用者編寫函式,這樣就可實現重定向 2,重定向printf 函式 需重寫fputc 這個c標準庫函式 printf 在c標準庫函式實質是乙個巨集,實際是呼叫fputc 函式 說明fputc...