日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]使用TFT觸摸屏?xí)r,想要對(duì)字符串,圖形或者數(shù)字進(jìn)行顯示時(shí),發(fā)現(xiàn)他們的庫(kù)函數(shù)中都有一個(gè)最重要的函數(shù)LCD_ShowChar,貌似目前很少有人分析這個(gè)函數(shù),雖然簡(jiǎn)單但是還是有點(diǎn)繞的。先貼一下這個(gè)函數(shù)的代碼,由于函數(shù)顯示分

使用TFT觸摸屏?xí)r,想要對(duì)字符串,圖形或者數(shù)字進(jìn)行顯示時(shí),發(fā)現(xiàn)他們的庫(kù)函數(shù)中都有一個(gè)最重要的函數(shù)LCD_ShowChar,貌似目前很少有人分析這個(gè)函數(shù),雖然簡(jiǎn)單但是還是有點(diǎn)繞的。

先貼一下這個(gè)函數(shù)的代碼,由于函數(shù)顯示分為疊加顯示和非疊加顯示,原理類似,所以只分析非疊加方式的部分應(yīng)該就都懂了。

void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)

{

u8 temp,t1,t;

u16 y0=y;

u16 colortemp=POINT_COLOR;

num=num-' ';//得到偏移后的值

if(!mode) //非疊加方式

{

for(t=0;t

{

if(size==12)temp=asc2_1206[num][t]; //調(diào)用1206字體

else temp=asc2_1608[num][t]; //調(diào)用1608字體

for(t1=0;t1<8;t1++)

{

if(temp&0x80)POINT_COLOR=colortemp;

else POINT_COLOR=BACK_COLOR;

LCD_DrawPoint(x,y);

temp<<=1;

y++;

if(x>=lcddev.width){POINT_COLOR=colortemp;return;}//超區(qū)域了

if((y-y0)==size)

{

y=y0;

x++;

if(x>=lcddev.width){POINT_COLOR=colortemp;return;}//超區(qū)域了

break;

}

}

}

}

1206字體和1608字體是兩種不同的字號(hào),就是一個(gè)橫向6點(diǎn),縱向12點(diǎn),一個(gè)橫向8點(diǎn),縱向16點(diǎn),從判斷語(yǔ)句可以看出,二者對(duì)應(yīng)的碼表是不一樣的,這個(gè)碼表在工程里搜索一下,在font.h里,是一個(gè)二維數(shù)組。我們這里使用1608字體,以字母“M”為例。查一下碼表中“M”對(duì)應(yīng)的數(shù)組,如下:

{0x10,0x04,0x1F,0xFC,0x1F,0x00,0x00,0xFC,0x1F,0x00,0x1F,0xFC,0x10,0x04,0x00,0x00},

' '是碼表的開(kāi)始,由字母減去' '得到偏移量,也就是二維數(shù)組的第幾行。第一個(gè)循環(huán)開(kāi)始,就給臨時(shí)變量temp賦值為數(shù)組的第一個(gè)值,由于是1608字體,因此也有一個(gè)數(shù)組中有16個(gè)數(shù),第一個(gè)循環(huán)就是為了讓temp遍歷這16個(gè)數(shù)。

之后第二個(gè)循環(huán)開(kāi)始,由于數(shù)組中的每一個(gè)數(shù)均是8位,由于每次循環(huán)都會(huì)對(duì)temp左移一位,因此第二個(gè)循環(huán)的次數(shù)是8次。經(jīng)if(temp&0x80)判斷,如果數(shù)字的最高位為1,則進(jìn)行描點(diǎn)的顏色為字體顏色,如果不是1,則描點(diǎn)顏色為底色。(PS:描點(diǎn)函數(shù)LCD_DrawPoint還是很簡(jiǎn)單滴,總的來(lái)說(shuō)就是向?qū)慓RAM寄存器R20h,R21h寫入我們希望寫的點(diǎn)顏色,基本操作O(∩_∩)O)

每次移位,y都會(huì)自加,第二個(gè)循環(huán)是8次,而size為16,也就是說(shuō)數(shù)組中每讀過(guò)兩個(gè)數(shù),y自加16次之后都會(huì)清零,然后x加1,就像列掃描一樣,一列16個(gè)點(diǎn)結(jié)束后會(huì)進(jìn)行到下一列。

超區(qū)域那部分就是說(shuō)超過(guò)size了,描個(gè)點(diǎn)就返回啦。下面以“M”為例描述下描點(diǎn)的過(guò)程。

碼表前8個(gè)

0x10 (0,3)

0x04 (0,13)

0x1F (1,3),(1,4),(1,5),(1,6),(1,7)

0xFC (1,8),(1,9),(1,10),(1,11),(1,12),(1,13)

0x1F (2,3),(2,4),(2,5),(2,6),(2,7)

0x00 無(wú)

0x00 無(wú)

0xFC (3,8),(3,9),(3,10),(3,11),(3,12),(3,13)

碼表后8個(gè)

0x1F (4,3),(4,4),(4,5),(4,6),(4,7)

0x00 無(wú)

0x1F (5,3),(5,4),(5,5),(5,6),(5,7)

0xFC (5,8),(5,9),(5,10),(5,11),(5,12),(5,13)

0x10 (6,3)

0x04 (6,13)

0x00 無(wú)

0x00 無(wú)

這個(gè)不直觀啊,用matlab的scatter(x,y)描個(gè)點(diǎn),正好就是TFT屏幕顯示的“M”圖形


以上就是ILI9320描點(diǎn)函數(shù)LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)的全過(guò)程。希望第一次學(xué)的小伙伴看了能明白


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

特朗普集團(tuán)近日取消了其新推出的T1智能手機(jī)“將在美國(guó)制造”的宣傳標(biāo)語(yǔ),此舉源于外界對(duì)這款手機(jī)能否以當(dāng)前定價(jià)在美國(guó)本土生產(chǎn)的質(zhì)疑。

關(guān)鍵字: 特朗普 蘋果 AI

美國(guó)總統(tǒng)特朗普在公開(kāi)場(chǎng)合表示,他已要求蘋果公司CEO蒂姆·庫(kù)克停止在印度建廠,矛頭直指該公司生產(chǎn)多元化的計(jì)劃。

關(guān)鍵字: 特朗普 蘋果 AI

4月10日消息,據(jù)媒體報(bào)道,美國(guó)總統(tǒng)特朗普宣布,美國(guó)對(duì)部分貿(mào)易伙伴暫停90天執(zhí)行新關(guān)稅政策,同時(shí)對(duì)中國(guó)的關(guān)稅提高到125%,該消息公布后蘋果股價(jià)飆升了15%。這次反彈使蘋果市值增加了4000多億美元,目前蘋果市值接近3萬(wàn)...

關(guān)鍵字: 特朗普 AI 人工智能 特斯拉

3月25日消息,據(jù)報(bào)道,當(dāng)?shù)貢r(shí)間3月20日,美國(guó)總統(tǒng)特朗普在社交媒體平臺(tái)“真實(shí)社交”上發(fā)文寫道:“那些被抓到破壞特斯拉的人,將有很大可能被判入獄長(zhǎng)達(dá)20年,這包括資助(破壞特斯拉汽車)者,我們正在尋找你?!?/p> 關(guān)鍵字: 特朗普 AI 人工智能 特斯拉

1月22日消息,剛剛,新任美國(guó)總統(tǒng)特朗普放出重磅消息,將全力支持美國(guó)AI發(fā)展。

關(guān)鍵字: 特朗普 AI 人工智能

特朗普先生有兩件事一定會(huì)載入史冊(cè),一個(gè)是筑墻,一個(gè)是挖坑。在美墨邊境筑墻的口號(hào)確保邊境安全,降低因非法移民引起的犯罪率過(guò)高問(wèn)題;在中美科技產(chǎn)業(yè)之間挖坑的口號(hào)也是安全,美國(guó)企業(yè)不得使用對(duì)美國(guó)國(guó)家安全構(gòu)成威脅的電信設(shè)備,總統(tǒng)...

關(guān)鍵字: 特朗普 孤立主義 科技產(chǎn)業(yè)

據(jù)路透社1月17日消息顯示,知情人士透露,特朗普已通知英特爾、鎧俠在內(nèi)的幾家華為供應(yīng)商,將要撤銷其對(duì)華為的出貨的部分許可證,同時(shí)將拒絕其他數(shù)十個(gè)向華為供貨的申請(qǐng)。據(jù)透露,共有4家公司的8份許可被撤銷。另外,相關(guān)公司收到撤...

關(guān)鍵字: 華為 芯片 特朗普

曾在2018年時(shí)被美國(guó)總統(tǒng)特朗普稱作“世界第八奇跡”的富士康集團(tuán)在美國(guó)威斯康星州投資建設(shè)的LCD顯示屏工廠項(xiàng)目,如今卻因?yàn)楦皇靠祵㈨?xiàng)目大幅縮水并拒絕簽訂新的合同而陷入了僵局。這也導(dǎo)致富士康無(wú)法從當(dāng)?shù)卣抢铽@得約40億美...

關(guān)鍵字: 特朗普 富士康

今年5月,因自己發(fā)布的推文被貼上“無(wú)確鑿依據(jù)”標(biāo)簽而與推特發(fā)生激烈爭(zhēng)執(zhí)后,美國(guó)總統(tǒng)特朗普簽署了一項(xiàng)行政令,下令要求重審《通信規(guī)范法》第230條。

關(guān)鍵字: 谷歌 facebook 特朗普

眾所周知,寄往白宮的所有郵件在到達(dá)白宮之前都會(huì)在他地進(jìn)行分類和篩選。9月19日,根據(jù)美國(guó)相關(guān)執(zhí)法官員的通報(bào),本周早些時(shí)候,執(zhí)法人員截獲了一個(gè)寄給特朗普總統(tǒng)的包裹,該包裹內(nèi)包含蓖麻毒蛋白。

關(guān)鍵字: 美國(guó) 白宮 特朗普
關(guān)閉