描述
C 庫(kù)函數(shù) int fputc(int char, FILE *stream) 將參數(shù) char 指定的字符(無(wú)符號(hào) char)寫入指定的流,并推進(jìn)流的位置指示器。
聲明
下面是 fputc() 函數(shù)的聲明。
int fputc(int char, FILE *stream)
參數(shù)
char ? 這是要寫的字符。這將作為其 int 升級(jí)傳遞。
stream ? 這是指向 FILE 對(duì)象的指針,該對(duì)象標(biāo)識(shí)要寫入字符的流。
返回值
如果沒(méi)有錯(cuò)誤,則返回已寫入的同一字符。如果發(fā)生錯(cuò)誤,則返回 EOF 并設(shè)置錯(cuò)誤指示器。
下面的示例演示 fputc() 函數(shù)的用法。
#include
int main () {
FILE *fp;
int ch;
fp = fopen("file.txt", "w+");
for( ch = 33 ; ch <= 100; ch++ ) {
fputc(ch, fp);
}
fclose(fp);
return(0);
}
下面將重定義為printf函數(shù)
///重定向c庫(kù)函數(shù)printf到串口,重定向后可使用printf函數(shù)
int fputc(int ch, FILE *f)
{
/* 發(fā)送一個(gè)字節(jié)數(shù)據(jù)到串口 */
USART_SendData(USART3, (uint8_t) ch);
/* 等待發(fā)送完畢 */
while (USART_GetFlagStatus(USART3, USART_FLAG_TXE) == RESET);
return (ch);
}
///重定向c庫(kù)函數(shù)scanf到串口,重寫向后可使用scanf、getchar等函數(shù)
int fgetc(FILE *f)
{
/* 等待串口輸入數(shù)據(jù) */
while (USART_GetFlagStatus(USART3, USART_FLAG_RXNE) == RESET);
return (int)USART_ReceiveData(USART3);
}

審核編輯:符乾江
-
嵌入式
+關(guān)注
關(guān)注
5146文章
19598瀏覽量
316249 -
printf函數(shù)
+關(guān)注
關(guān)注
0文章
31瀏覽量
6099
發(fā)布評(píng)論請(qǐng)先 登錄
【RA4L1-SENSOR】+ RA4L1-SENSOR開(kāi)發(fā)版串口打印功能printf實(shí)現(xiàn)
瑞薩RA單片機(jī)在e2 studio環(huán)境下printf編譯出錯(cuò)的問(wèn)題解析

福田歐曼銀河9重新定義全球重卡標(biāo)準(zhǔn)
長(zhǎng)城重卡Hi4-G超級(jí)混動(dòng)系統(tǒng)發(fā)布
在外部中斷中將printf寫入,外部中斷LED可以翻轉(zhuǎn),但串口不可顯示,為什么?
【RA-Eco-RA2L1-48PIN-V1.0開(kāi)發(fā)板試用】——使用串口輸出打印printf實(shí)現(xiàn)
法法易直流充電槍:為電動(dòng)重卡充電賦能
什么是熱重分析(TGA)

福田歐曼銀河重新定義世界重卡標(biāo)準(zhǔn)
stdio.h實(shí)現(xiàn)了printf函數(shù)?
51單片機(jī)中為什么很少出現(xiàn)printf的身影

STM32CUBEMX(8)--USART通過(guò)定時(shí)器中斷方式接收不定長(zhǎng)數(shù)據(jù)
還不會(huì)嗎?三分鐘讓你速通Printf~

評(píng)論