<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機使用printf函數進(jìn)行串口打印輸出

單片機使用printf函數進(jìn)行串口打印輸出

作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò ) 收藏
以前在使用keil編寫(xiě)51單片機程序的時(shí)候,經(jīng)常使用printf函數打印輸出一些關(guān)鍵的過(guò)程數據到電腦,方便監控程序的運行狀況。最近使用IAR for MSP430 調試 MSP430G2553 程序的時(shí)候,發(fā)現了一些小問(wèn)題,MSP430G2553單片機并沒(méi)有按照我的預期輸出數據到電腦。

帶著(zhù)疑惑我查看了keil的幫助文件里面的printf函數說(shuō)明,原來(lái)printf函數最終是調用putchar函數來(lái)實(shí)現打印輸出字符的。

本文引用地址:http://dyxdggzs.com/article/201611/321832.htm

putchar,該函數將制定的表達式的值所對應的字符輸出到標準輸出終端上。表達式可以是字符型或整型,它每次只能輸出一個(gè)字符。我們來(lái)看keil標準函數庫里的putchar函數的函數體。

根據說(shuō)明提示,我在D:KeilC51LIB文件夾里面找到了putchar.c文件

#include

#define XON 0x11

#define XOFF 0x13

char putchar (char c) {

if (c == ) {

if (RI) {

if (SBUF == XOFF) {

do {

RI = 0;

while (!RI);

}

while (SBUF != XON);

RI = 0;

}

}

while (!TI);

TI = 0;

SBUF = 0x0d;

}

if (RI) {

if (SBUF == XOFF) {

do {

RI = 0;

while (!RI);

}

while (SBUF != XON);

RI = 0;

}

}

while (!TI);

TI = 0;

return (SBUF = c);

}

#if 0 // comment out versions below

char putchar (char c) {

if (c == ) {

while (!TI);

TI = 0;

SBUF = 0x0d;

}

while (!TI);

TI = 0;

return (SBUF = c);

}

char putchar (char c) {

while (!TI);

TI = 0;

return (SBUF = c);

}

#endif


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 單片機printf函數串口打

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>