C51 printf修改如何能打印到不同的设备呢?
生活随笔
收集整理的這篇文章主要介紹了
C51 printf修改如何能打印到不同的设备呢?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文如下
我們知道標準的C51庫函數printf是將內容通過串口打印,常見單片機系統中的輸出設備通
常是lcd,led,甚至osd等,但是許多編程者苦于編寫其打印函數以及各種各樣的格式控
制,其實keil c51提供了非常方便的方法來實現,那就是通過改寫putchar.c來改造printf
函數,你可以通過以下辦法來實現自己設計系統中的打印,
1、拷貝KEIL C51下LIB目錄中的putchar.c文件到你的項目目錄下,并且將其添加到你的工
程中
2、在char putchar (char c)函數中把所有對SBUF負值的語句替換為你自己的打印設備函數
如:把最后的return(SBUF = c)替換為Lcd_PutC(c);return(c);
3、如果你的輸出設備是二維的顯示設備你可能需要建立全局的二維變量cursor(x,y),在
每打印一個字符后x,y做相應的變換
4、如果你要在二維的顯示設備上輸出漢字,你還需要建立一個全局的區碼變量,在putchar
函數中先對入口參數c作判斷如果是處在區碼范圍內則此次不輸出,并做好獲得區碼的標
志,待程序第二次調用putchar函數時判斷區碼標識存在則此次入口參數c實際上就是這個漢
字的位碼,則可以將區碼變量和本次參數c組成這個漢字的區位碼并調用用戶的輸出函數將
其輸出到用戶設備,輸出后把區碼標識復位
以上方法可以把printf函數中的各種格式控制很輕松的應用到用戶系統中
我們知道標準的C51庫函數printf是將內容通過串口打印,常見單片機系統中的輸出設備通
常是lcd,led,甚至osd等,但是許多編程者苦于編寫其打印函數以及各種各樣的格式控
制,其實keil c51提供了非常方便的方法來實現,那就是通過改寫putchar.c來改造printf
函數,你可以通過以下辦法來實現自己設計系統中的打印,
1、拷貝KEIL C51下LIB目錄中的putchar.c文件到你的項目目錄下,并且將其添加到你的工
程中
2、在char putchar (char c)函數中把所有對SBUF負值的語句替換為你自己的打印設備函數
如:把最后的return(SBUF = c)替換為Lcd_PutC(c);return(c);
3、如果你的輸出設備是二維的顯示設備你可能需要建立全局的二維變量cursor(x,y),在
每打印一個字符后x,y做相應的變換
4、如果你要在二維的顯示設備上輸出漢字,你還需要建立一個全局的區碼變量,在putchar
函數中先對入口參數c作判斷如果是處在區碼范圍內則此次不輸出,并做好獲得區碼的標
志,待程序第二次調用putchar函數時判斷區碼標識存在則此次入口參數c實際上就是這個漢
字的位碼,則可以將區碼變量和本次參數c組成這個漢字的區位碼并調用用戶的輸出函數將
其輸出到用戶設備,輸出后把區碼標識復位
以上方法可以把printf函數中的各種格式控制很輕松的應用到用戶系統中
總結
以上是生活随笔為你收集整理的C51 printf修改如何能打印到不同的设备呢?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 预估成交价 5 万美元,尚未拆封的苹果初
- 下一篇: 苹果服务业务以 208 亿美元刷新纪录,