找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1166|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)LCD12864字符串問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:692931 發(fā)表于 2022-4-7 19:49 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
unsigned char code rightString[] =  "當(dāng)前距離為:";
unsigned char code errorString[] =  "錯(cuò)誤!超出測量距離";
unsigned char *p;
如上定義兩個(gè)字符串和一個(gè)指針

在以下判斷中選擇讓指針指向不同的字符串地址

if((S>=700)||flag==1) //超出測量范圍顯示“-”
         {         
          flag=0;
        p = errorString;}
else
         {p = rightString;}

在主程序中向LCD12864傳輸顯示字符

lcd12864_hanzi(p);

以下是函數(shù)的定義,可以確定的是LCD12864的驅(qū)動(dòng)函數(shù)都沒有問題,但就是字符串不顯示

void lcd12864_hanzi(unsigned char *s)
{
        while(*s)
                lcd12864_wdat(*s++);
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:121859 發(fā)表于 2022-4-8 12:16 | 只看該作者
12864最多一行只能顯示8個(gè)漢字,你的字符串里面有一個(gè)超了。另外,還需要送顯示地址吧,沒有看到這個(gè)。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

板凳
ID:123289 發(fā)表于 2022-4-8 13:58 | 只看該作者
你是調(diào)用別人的函數(shù)來處理【LCD12864字符串】的,所以就必須依據(jù)這個(gè)函數(shù)的要求來。
研究讀通函數(shù)的定義吧。
例如:沙發(fā)提到的【12864最多一行只能顯示8個(gè)漢字】,普通函數(shù)是這樣的。
如果:函數(shù)能自動(dòng)換行,就可以顯示16個(gè)了。
再如果:函數(shù)能滾動(dòng)顯示,就可以顯示更多個(gè)了。
所以,你想用什么函數(shù),就先讀通它的輸入、輸出要求。問題就全OK了。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表