|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
一個液晶模塊不能正確顯示漢字的問題[自問自答] |
| 作者:mcuatcn 欄目:單片機(jī) |
//液晶模塊漢字顯示問題 //每行顯示15個字符,最多顯示7個漢字,漢字顯示任意位置 void PrintLineNew(BYTE ucLine, CHAR * pszX, BOOL bClear) { BOOL DisplayHaved; BOOL HanziBegin; BYTE ucIndex; //循環(huán)次數(shù) BYTE LcdDisIndex = 0; //顯示字符的指針 BuzzerKey();// Msec(50);// if(bClear) { LcdClear(); } SWITCH(ucLine) { case 0: LcdSetDdramAddress(0); break; case 1: default: LcdSetDdramAddress(0x10); break; } for(ucIndex = 0; ucIndex < 15; ucIndex++) { if(pszX[LcdDisIndex] == 0) //字符串結(jié)束返回 return; else {//不知道為什么,這句總是不通過,不只到什么原因? //根據(jù)漢字的編碼地址A1A0H~F7FFH顯示8192種GB2312中文字庫字形。 //所以(pszX[LcdDisIndex] > 0x7F)判斷的就是漢字 //可是沒有一個通過,不只到什么原因? if((pszX[LcdDisIndex] > 0x7F) && (ucIndex%2 ==0) ) //開始顯示的是漢字 { if(ucIndex == 14) { return; } HanziBegin = 1; BuzzerCard();// Msec(50);// } else { if((pszX[LcdDisIndex] > 0x7F) && (ucIndex%2 ==1) ) //顯示的是漢字 { if(HanziBegin) { HanziBegin = 0; } else //在單數(shù)位置出現(xiàn)漢字顯示 { LcdLowDisplay('E'); DisplayHaved = TRUE; BuzzerKey();// Msec(50);// } } else; } ; if(DisplayHaved) { DisplayHaved = FALSE; //LcdDisIndex++; } else { LcdLowDisplay(pszX[LcdDisIndex++]); } } } } * - 本貼最后修改時(shí)間:2006-6-9 14:59:20 修改者:mcuatcn |
| 2樓: | >>參與討論 |
| 作者: mcuatcn 于 2006/6/8 14:35:00 發(fā)布:
自己頂一下 根據(jù)漢字的編碼地址A1A0H~F7FFH顯示8192種GB2312中文字庫字形。 所以一個字符串中如果它的值 > 0x7F) 是否可以判斷就是漢字呢? 我覺得就是這樣的啊?? 可是不知道為什么不通過, 有DX指點(diǎn)一下 謝謝了 |
|
| 3樓: | >>參與討論 |
| 作者: mcuatcn 于 2006/6/8 16:20:00 發(fā)布:
再頂一下 難道沒人幫我嗎? |
|
| 4樓: | >>參與討論 |
| 作者: mcuatcn 于 2006/6/9 14:50:00 發(fā)布:
怎么沒人回答?? |
|
| 5樓: | >>參與討論 |
| 作者: mcuatcn 于 2006/6/9 14:57:00 發(fā)布:
呵呵 我知道了怎么回事了 問題就在這: void PrintLineNew(BYTE ucLine, CHAR.html">CHAR * pszX, BOOL bClear) {} 我定義變量 CHAR.html">CHAR * pszX 字符串中的漢字其實(shí)都是存的地址 是 unsigned CHAR.html">CHAR 類型的 怪不得 if(pszX[LcdDisIndex] > 0x7F) 沒有通過呢 #define _MAX_CHAR_ (CHAR)0x7f #define _MIN_CHAR_ (CHAR)0x80 原來如此~~ ^_^ |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |