娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年03月01日(星期六)

2021年03月01日 | STM32之TFT觸摸屏(ILI9320):通過LCD_ShowChar顯示

發布者:未來架構師 來源: eefocus關鍵字:STM32  TFT觸摸屏  ILI9320  LCD_ShowChar 手機看文章 掃描二維碼
隨時隨地手機看文章

使用TFT觸摸屏時,想要對字符串,圖形或者數字進行顯示時,發現他們的庫函數中都有一個最重要的函數LCD_ShowChar,貌似目前很少有人分析這個函數,雖然簡單但是還是有點繞的。


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


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]; //調用1206字體


else temp=asc2_1608[num][t]; //調用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;}//超區域了


if((y-y0)==size)


{


y=y0;


x++;


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


break;


}


}


}


}


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


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


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


之后第二個循環開始,由于數組中的每一個數均是8位,由于每次循環都會對temp左移一位,因此第二個循環的次數是8次。經if(temp&0x80)判斷,如果數字的最高位為1,則進行描點的顏色為字體顏色,如果不是1,則描點顏色為底色。(PS:描點函數LCD_DrawPoint還是很簡單滴,總的來說就是向寫GRAM寄存器R20h,R21h寫入我們希望寫的點顏色,基本操作O(∩_∩)O)


每次移位,y都會自加,第二個循環是8次,而size為16,也就是說數組中每讀過兩個數,y自加16次之后都會清零,然后x加1,就像列掃描一樣,一列16個點結束后會進行到下一列。


超區域那部分就是說超過size了,描個點就返回啦。下面以“M”為例描述下描點的過程。


碼表前8個


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 無


0x00 無


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


碼表后8個


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


0x00 無


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 無


0x00 無


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


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

關鍵字:STM32  TFT觸摸屏  ILI9320  LCD_ShowChar 引用地址:STM32之TFT觸摸屏(ILI9320):通過LCD_ShowChar顯示

上一篇:STM32f103的電阻觸摸屏的五點校正算法
下一篇:基于STM32 的FSMC接口驅動TFT彩屏的設計

推薦閱讀

  維信諾率先推出“中國首款量產 NotchAMOLED?全面屏”產品,該產品已陸續出貨,應用該顯示屏的首款手機也在近日的2018世界移動通信大會(MWC)同期發布。下面就隨嵌入式小編一起來了解一下相關內容吧。  自去年“AMOLED全面屏”市場爆發以來,各大廠商在蜂擁而入的同時也在加緊探索更加創新的解決方案。為助力終端手機品牌采用當前國際上最新一代的AM...
3月1日,微博上流傳一張iQOO手機銷售頁面截圖,顯示其價格為2998元,對標售價2999元的小米9。  具體來說,這張商品頁面截圖來自于“善融手機客戶端”,而善融是中國建設銀行的網上商城,不過經過筆者核對,目前善融客戶端內無法搜索到iQOO手機。  此前網上曝光了疑似iQOO手機的價格。如圖所示,6GB+128GB版本售價3598元,8GB+128GB版本售價3...
對于眾多蘋果用戶來說,iPhone的續航能力在多年以來一直都是其短板的存在,而其中電池容量少是一個十分嚴重的硬傷,而蘋果公司也并非不知道這個問題,而為了彌補這個問題,蘋果官方也只能從iOS上下手解決問題。  蘋果在最新版的iOS 13中引入了“優化電池充電”的功能,以此來提升iPhone的續航能力,當蘋果用戶在啟動該功能后,能夠讓iPhone在...
3月1日,國新辦在工業和信息化發展情況新聞發布會上指出,隨著網絡經濟空間加快拓展,一批數字紅利亦不斷釋放。到2020年底,我國累計開通5G基站71.8萬個,5G手機終端連接數突破2億戶;IPv6規模部署縱深推進,活躍連接數達到13.9億,4G網絡IPv6流量占比從無到有,超過15%。與此同時,工信部部長肖亞慶表示,加快改造提升傳統產業,推動包括集成電路、5G、新...

史海拾趣

問答坊 | AI 解惑

PB375 U盤讀寫匯編程序

PB375 U盤讀寫匯編程序性價比超高的U盤讀寫模塊-PB375,兼容CH375讀寫操作 1.    功能 ● 用于嵌入式系統/單片機讀寫U 盤、閃盤、閃存盤、USB 移動硬盤、USB 讀卡器等。 ● 支持符合USB 相關規范基于Bulk-Only 傳輸協議的各種U 盤/閃 ...…

查看全部問答∨

【求書】wince下c++開發的性能優化類書籍

目前只看到一本《內存受限系統之軟件開發》,如果有人知道類似的書籍,麻煩回個貼。。。 比較關心,手機端開發的I/O,內存,運算效率這個方面。…

查看全部問答∨

XDJM,尋求一解決方案-關于隱藏U盤盤符或者禁止該U盤使用!

      大家好!       當某一類型的優盤插入PC后,我需要隱藏這個盤符,或者禁止用戶訪問這個U盤!       大家有什么好的解決方案(最好在C++下面調用系統庫?),謝謝!   ...…

查看全部問答∨

AT24C04能讀不能寫。

你們好:     我用at89s52 晶振是11.059.at24c04 上拉電阻是4.7k SDA與SCL管腳是p2.0與p2.1    能讀不能寫,以下是我的eeprom基本程序,請各位看看。 void start_i2c(void) //開始總線 { SDA=1; _nop_(); SCL=1; _n ...…

查看全部問答∨

mc39i撥號上網獲得ip地址以及查詢獲得的ip地址的AT指令是什么?

如題,或者有這樣的AT指令嗎,我查了下mc39i的AT指令,好像沒有發現。…

查看全部問答∨

fpga

需要學習fpga,請各位路過者,給點建議,包括看什么書,用什么資料等,將不勝感激! 先謝謝各位了。…

查看全部問答∨

放大1mv的電壓 芯片選用

放大1mv的電壓選用什么芯片合適呢,頻率要在15M以上,…

查看全部問答∨

MSP430單片機控制IO口操作-LED燈閃爍

一、學習要點:作為MSP430單片機的第一個入門程序,主要掌握MSP430單片機I/O的操作,I/O口初始化。并且通過實踐進一步掌握對IAR MSP430軟件的操作,以及 MSP430FET全系列JTAG仿真器 與 MSP430F135核心實驗板 的了解與使用。 二、程序執行效果: M ...…

查看全部問答∨

CC2480與MSP430怎么相連啊?時鐘怎么設置啊

本人最近在做MSP430與CC2480相連的電路設計,但是不知道這兩者之間怎么連啊,另外,2480有時鐘晶振,MSP430也有晶振,所以搞不清楚到底是兩個模塊都要設置晶振還是只是其中一個設置就行。請各位大神幫個忙解答下!非常感謝啊!!!…

查看全部問答∨

蜂鳴器脫殼原因分析?

經常遇到客戶在咨詢蜂鳴器產品的時候說同行的蜂鳴器經常出現蜂鳴器帽脫落的現象,其現象描述如下:1.以前有鉛蜂鳴器很少約0.1%,現轉為無鉛蜂鳴器約有1%不良;2.蜂鳴器帽的超聲波接合處粘合不良,因不會脫落其超聲波接合處周圍有明顯的粘跡而易脫落 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 太仓市| 渑池县| 乐陵市| 承德县| 黄平县| 论坛| 额敏县| 阿瓦提县| 教育| 河津市| 剑河县| 莱阳市| 天全县| 平泉县| 景德镇市| 南乐县| 靖安县| 蕲春县| 汉沽区| 长岭县| 广州市| 建瓯市| 双柏县| 盐边县| 崇左市| 勐海县| 颍上县| 普洱| 深州市| 寻乌县| 织金县| 旬邑县| 沽源县| 资阳市| 茂名市| 西林县| 许昌市| 垣曲县| 丽江市| 兴安盟| 柯坪县|