標(biāo)題:
單片機(jī)C語言sprintf()函數(shù)驅(qū)動(dòng)LCD1602顯示屏顯示問題
[打印本頁]
作者:
wdgao
時(shí)間:
2023-3-13 14:47
標(biāo)題:
單片機(jī)C語言sprintf()函數(shù)驅(qū)動(dòng)LCD1602顯示屏顯示問題
char table[16];
int a=1;
int b=2;
int c=3;
int d=4;
int e=5;
int f=6;
void main()
{
LCD_Init();
sprintf(table,"%d%d%d%d%d%d",a,b,c,d,e,f);
LCD_ShowString(1,1,table);
while(1)
{
;
}
}
本來應(yīng)該顯示123456,實(shí)際只有前四個(gè)是對(duì)的,只能使用四個(gè)變量。請(qǐng)大家看看問題出在什么地方?
屏幕截圖.png
(6.67 KB, 下載次數(shù): 48)
下載附件
2023-3-13 14:45 上傳
本來應(yīng)該顯示123456
作者:
Hephaestus
時(shí)間:
2023-3-14 00:28
單片機(jī)那點(diǎn)兒內(nèi)存根本實(shí)現(xiàn)不了完整的sprintf函數(shù),都是刪減版本的,能自己寫就不要用標(biāo)準(zhǔn)庫函數(shù)。
作者:
zhuls
時(shí)間:
2023-3-14 09:33
如同豪華超跑的sprintf,是一般人駕駑不了的,太燒油。功能強(qiáng)大,但小身板的單片機(jī)最好別用它。
你看一下把它注釋掉,前后編譯對(duì)比一下花費(fèi)的空間,就能發(fā)現(xiàn)問題了。
作者:
Y_G_G
時(shí)間:
2023-3-17 20:02
參考代碼
char k[10]; //這里不能加code限定符,否則計(jì)算不正確,數(shù)組長(zhǎng)度隨意,不出錯(cuò)就可以
char a;
sprintf(k,"%.1f",Data_Send); //把浮點(diǎn)數(shù)據(jù)分割成字符串,并存放在k數(shù)組中,"%.1f"的2f表示小數(shù)點(diǎn)后再顯示1位數(shù),不顯示小數(shù)就是0f for(a=0;(k[a]!='\0');a++)
{
Send_Out_COM(k[a]); //這個(gè)是我自己寫的串口發(fā)送函數(shù)
}
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1