標(biāo)題:
51單片機(jī)printf函數(shù)源代碼怎么找
[打印本頁]
作者:
滄興電子
時間:
2022-12-2 22:37
標(biāo)題:
51單片機(jī)printf函數(shù)源代碼怎么找
通過STDIO.H文件,找到頭文件函數(shù)聲明,但是源文件C代碼找不到
作者:
Hephaestus
時間:
2022-12-3 00:53
源碼在庫文件里面,商業(yè)秘密怎么可能讓你知道?
開源免費的SDCC里面有printf源碼,在lib\src目錄下面。
作者:
Longan.Wang
時間:
2022-12-5 15:57
精神可嘉!但,沒有必要!!。!
作者:
angmall
時間:
2022-12-5 18:30
我先在知道想要在51單片機(jī)使用printf有兩種辦法,一種是用庫自己的printf,一種是寫自己的printf,不過都很簡單,
自己寫printf。
void sendstring(unsigned char *string)//這個是字符串發(fā)送函數(shù)
{
while(*string!='\0') //判斷是否到字符串的尾端
{
sendbyte(*string);
string++;
}
}
void uart_printf(char *fmt,...)//這個是我們的printf函數(shù)
{
va_list ap;//typedef char *va_list; va_list是char型的指針
char xdata string[1024];//訪問外部RAM 兩字節(jié)對齊
va_start(ap,fmt);//這個函數(shù)的功能是,找到第一個可變形參的地址,并把地址賦給ap
vsprintf(string,fmt,ap);//其實這個函數(shù)才是核心函數(shù),沒研究。。。
sendstring(string);//這個函數(shù)就是發(fā)送字符串函數(shù),通過上一個函數(shù),就把該提取的東西都提取了
va_end(ap);//結(jié)束函數(shù)
}
復(fù)制代碼
作者:
Y_G_G
時間:
2022-12-5 20:59
當(dāng)初剛剛學(xué)C語言的時候還能找到,現(xiàn)在找不到了,網(wǎng)上找了,你自己看一下就明白了printf是通過putchar函數(shù)發(fā)送的,所以,printf并沒有跟8051有關(guān)的語句
在putchar函數(shù)中是使用串口進(jìn)行發(fā)送的,你可以通過更改putchar還更改printf的功能
https://www.cnblogs.com/jqdy/p/12255620.html?ivk_sa=1024320u
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1