對于ILI9341的240x320屏幕,零知開源平臺已經可以支持該顯示屏的常用操作了,一個示例如下:
- /**
- * 文件: ili9341-并口顯示.ino by 零知實驗室
- * -^^- 零知開源,讓電子制作變得更簡單! -^^-
- * 時間: 2018/08/02 17:55
- * 說明:
- **/
- #include "ili9341_parallel.h"
- //參數依次表示引腳:rs_pin, wr_pin, rd_pin, cs_pin, rst_pin, d0, d1, d2, d3, d4, d5, d6, d7
- ili9341_parallel_class display(15,16,17,18,19,0,1,2,3,4,5,6,7);
- // the setup routine runs once when you press reset:
- void setup() {
- // put your setup code here, to run once:
- display.begin();
-
- //用顏色清屏
- display.clear(BLACK);
-
- //畫實心矩形
- display.drawBox(0,10,80,60,BLUE);//blue
-
- //畫線
- display.drawLine(0,80, 100,80, RED);
-
- //畫圓
- display.drawCircle(20,120,20,RED);
-
- //畫空心矩形
- display.drawFrame(0,130,90,140,GREEN);
-
- //顯示ascii字符串
- display.drawString(0,180,GRAYBLUE, "www.lingzhilab.com");
-
- //顯示中文,參數:點的坐標、背景、字體顏色、大小:26/24、漢字
- display.drawUTF8_ZH(0,200,BLACK,MAGENTA,16,"零知開源");
- display.drawUTF8_ZH(10,250,BLACK,LIGHTBLUE,16,"讓電子制作變得更簡單");
- }
- // the loop routine runs over and over again forever:
- void loop() {
- // put your main code here, to run repeatedly:
- }
復制代碼 其顯示效果如下:
在上面我們使用的接口是8位并口操作,可以進行常用圖形的顯示、字符串顯示,以及中文顯示,由于中文的字庫較大,因此我們可以按照自己的需求加入中文字庫。
下面主要說下如何加入自己的中文字體,主要修改軟件庫中的ili9341_font.h文件,因為我們使用的是utf-8編碼格式,因此也可以顯示其他外文字體。
1、我們先要制作字庫(只需要加入自己需要的):
我們使用附件中的軟件pctolcd工具制作:
打開軟件后,在配置中選擇如下:
194451a33zk2bqk3b9k9f0.png (8.83 KB, 下載次數: 105)
下載附件
2018-8-3 23:30 上傳
然后我們在軟件中填入自己需要顯示的所有中文字符,并選擇size大小(請選擇16x16和24x24的),點擊生成字模,再把生成的字模拷貝到ili9341_font.h文件中的Chinese_code[]數組中,如下:
194809uwahy8nz242ya8nw.png (8.32 KB, 下載次數: 95)
下載附件
2018-8-3 23:30 上傳
2、我們需要制作漢字對應的UTF8編碼表:
首先我們使用附件中的工具(utf8中文編碼生成工具)來生成,我們只需要把你需要的所有漢字填寫到該軟件目錄下的 text.txt 文件中(注意:text.txt文件要保證是一個utf8格式的),然后打開軟件選擇好漢字文件和utf8編碼文件,如下:
195135xyhudgcmgmsbanig.png (4.04 KB, 下載次數: 87)
下載附件
2018-8-3 23:30 上傳
點擊生成編碼,即可在coding.txt文件中生成漢字對應的utf8編碼表,打開該文件復制編碼表填入到ili9341_font.h文件中的Chinese_text[]數組中,如下:
195413wduwweysyujbewb8.png (5.45 KB, 下載次數: 106)
下載附件
2018-8-3 23:30 上傳
經過上面的步驟我們就制作號了自己的漢字字庫了,現在我們只需要使用display.drawUTF8_ZH();接口函數顯示漢字就可以了。
附件請看原貼:
游客,本帖隱藏的內容需要積分高于 1 才可瀏覽,您當前積分為 0
(出處: 零知實驗室)
|