欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13356|回復(fù): 3
收起左側(cè)

STM8S單片機(jī)printf函數(shù)重定向到串口

[復(fù)制鏈接]
ID:65608 發(fā)表于 2014-9-6 01:02 | 顯示全部樓層 |閱讀模式


printf函數(shù)是一個(gè)功能非常強(qiáng)大的函數(shù),在單片機(jī)的調(diào)試過程中經(jīng)常會(huì)要適時(shí)地輸出變量的值,這時(shí)printf函數(shù)是一個(gè)非常好的選擇;對于一般的單片機(jī)只有串口可以與外界進(jìn)行通信,所以我們需要將printf函數(shù)重定向到串口;在這里會(huì)涉及到兩個(gè)關(guān)鍵問題:函數(shù)的重載和函數(shù)的重定向問題;

        首先是函數(shù)重載的問題;函數(shù)重載的主要用途之一是利用函數(shù)的多態(tài)性來實(shí)現(xiàn)用多種方法去實(shí)現(xiàn)同一接口功能;總而言之不管printf函數(shù)是多么的復(fù)雜,但是歸根結(jié)底使用的最低層的函數(shù)是putchar函數(shù);purchar函數(shù)與具體的硬件結(jié)構(gòu)打交道;所以實(shí)現(xiàn)重載就是根據(jù)具體不同的硬件結(jié)構(gòu)去實(shí)現(xiàn)不同的putchar實(shí)體功能;所以在這里我們只需要修改putchar的實(shí)體,要注意函數(shù)重載的要求,函數(shù)名相同,但是形參不能完全相同;但是在STM8S中按照函數(shù)重載的要求定義了兩個(gè)putchar函數(shù),庫自帶的putchar原型為:int putchar(char);我在文件中自定義文件為int putchar (unsigned char);編譯會(huì)出錯(cuò):redeclared external putchar;將函數(shù)原型改為
char putchar (char);編譯則能通過;那我只能使用的編譯器COMSIC不支持函數(shù)重載功能;

暫時(shí)先說到這里了。。。。


回復(fù)

使用道具 舉報(bào)

ID:68072 發(fā)表于 2014-10-29 16:51 | 顯示全部樓層
樓主你說完啊啊
回復(fù)

使用道具 舉報(bào)

ID:69003 發(fā)表于 2014-11-18 21:29 | 顯示全部樓層
過來學(xué)習(xí)一下。
回復(fù)

使用道具 舉報(bào)

ID:618760 發(fā)表于 2019-10-2 12:09 | 顯示全部樓層
原先的STDIO.H中已經(jīng)有定義了char putchar(char c);
所以重新定義的時(shí)候,要不就自己的定義符合STDIO.H內(nèi)的宣告,要不就修改STDIO.H的宣告。

遇到類似的問題,剛剛已經(jīng)解決的,順便分享一下!!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表