標(biāo)題:
單片機(jī)LCD12864字符串問(wèn)題
[打印本頁(yè)]
作者:
1372478861
時(shí)間:
2022-4-7 19:49
標(biāo)題:
單片機(jī)LCD12864字符串問(wèn)題
unsigned char code rightString[] = "當(dāng)前距離為:";
unsigned char code errorString[] = "錯(cuò)誤!超出測(cè)量距離";
unsigned char *p;
如上定義兩個(gè)字符串和一個(gè)指針
在以下判斷中選擇讓指針指向不同的字符串地址
if((S>=700)||flag==1) //超出測(cè)量范圍顯示“-”
{
flag=0;
p = errorString;}
else
{p = rightString;}
在主程序中向LCD12864傳輸顯示字符
lcd12864_hanzi(p);
以下是函數(shù)的定義,可以確定的是LCD12864的驅(qū)動(dòng)函數(shù)都沒(méi)有問(wèn)題,但就是字符串不顯示
void lcd12864_hanzi(unsigned char *s)
{
while(*s)
lcd12864_wdat(*s++);
}
作者:
zhxiufan
時(shí)間:
2022-4-8 12:16
12864最多一行只能顯示8個(gè)漢字,你的字符串里面有一個(gè)超了。另外,還需要送顯示地址吧,沒(méi)有看到這個(gè)。
作者:
yzwzfyz
時(shí)間:
2022-4-8 13:58
你是調(diào)用別人的函數(shù)來(lái)處理【LCD12864字符串】的,所以就必須依據(jù)這個(gè)函數(shù)的要求來(lái)。
研究讀通函數(shù)的定義吧。
例如:沙發(fā)提到的【12864最多一行只能顯示8個(gè)漢字】,普通函數(shù)是這樣的。
如果:函數(shù)能自動(dòng)換行,就可以顯示16個(gè)了。
再如果:函數(shù)能滾動(dòng)顯示,就可以顯示更多個(gè)了。
所以,你想用什么函數(shù),就先讀通它的輸入、輸出要求。問(wèn)題就全OK了。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1