一、TFT屏幕的驅(qū)動列表支持
絕大多數(shù)的tft屏幕在esp32 下都可以被 TFT_eSPI 驅(qū)動顯示,以下清單中的驅(qū)動模塊都可以用tft_espi來顯示:
// #define ILI9341_DRIVER // Generic driver for common displays
//#define ILI9341_2_DRIVER // Alternative ILI9341 driver, see https://github.com/Bodmer/TFT_eSPI/issues/1172
#define ST7735_DRIVER // Define additional parameters below for this display
//#define ILI9163_DRIVER // Define additional parameters below for this display
//#define S6D02A1_DRIVER
//#define RPI_ILI9486_DRIVER // 20MHz maximum SPI
//#define HX8357D_DRIVER
//#define ILI9481_DRIVER
//#define ILI9486_DRIVER
//#define ILI9488_DRIVER // WARNING: Do not connect ILI9488 display SDO to MISO if other devices share the SPI bus (TFT SDO does NOT tristate when CS is high)
//#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display
//#define ST7789_2_DRIVER // Minimal configuration option, define additional parameters below for this display
//#define R61581_DRIVER
//#define RM68140_DRIVER
//#define ST7796_DRIVER
//#define SSD1351_DRIVER
//#define SSD1963_480_DRIVER
//#define SSD1963_800_DRIVER
//#define SSD1963_800ALT_DRIVER
//#define ILI9225_DRIVER
//#define GC9A01_DRIVER
上面的驅(qū)動表基本囊括了主要的TFT顯示模塊,所以除非不在這個清單中,所以別找第三方驅(qū)動了。
二、TFT模塊的漢字顯示方式和字庫調(diào)用
在TFT_eSPI 的官方系統(tǒng)中提供了processing 這個工具用來生成漢字字庫,有些文檔介紹的過程是:
1,先用processing生成xxx.vlw 格式的文件;
2,訪問?File to hex converter 生成一堆16進(jìn)制的字符;
3,然后把字庫轉(zhuǎn)換成xxx.h文件在單片機(jī)中調(diào)用;
其實(shí)這個過程是完全誤導(dǎo),第一步processing生成的vlw文件是可以直接在單片機(jī)中被調(diào)用的;
1,把xxx.vlw放在platfomio項(xiàng)目下創(chuàng)建的data目錄
?2,把vlw文件上傳到單片機(jī)的flash空間中
?3,直接在代碼中進(jìn)行調(diào)用:
tft.begin();
tft.setRotation(1);
tft.fillScreen(TFT_BLACK);
tft.setTextColor(TFT_GREEN);
tft.loadFont(simsun12);
//注意上面的simsun12就是對應(yīng)的simsun12.vlw文件
tft.println("happy hahaha ");
tft.println("we care我們必須努力.");
tft.unloadFont();
tft會自己使用相關(guān)的文件系統(tǒng)LittleFS 之類的去讀取字庫文件
TFT_eSPI? 的github示例中有相關(guān)的詳細(xì)使用代碼。
調(diào)用vlw做的字庫文件比進(jìn)行轉(zhuǎn)換的方式簡單多了。
三、TFT_eSPI? 各種字庫的比較
經(jīng)過對vlw文件的調(diào)用代碼的分析,發(fā)覺:vlw字庫的存儲方式其實(shí)存的是圖片,processing 在創(chuàng)建字庫時顯示的那種圖片就是存的字庫文件。
它的字庫調(diào)用就是到這個圖片上動態(tài)取模。
上面當(dāng)然是題外話。
那么vlw格式和.h格式的字庫基本都是采取存進(jìn)flash空間。經(jīng)過測試:同等數(shù)量的漢字GB2312字符集 采取宋體12號字建立字庫:
vlw字庫文件是 1118KB;
.h字庫文件是 1.39M
vlw文件是可以正常上傳到單片機(jī)的,而.h字庫文件已經(jīng)不能使用了:
?所以,推薦使用vlw格式的字庫文件,不論是使用整個gb2312字符集還是個別漢字都推薦vlw格式字庫文件。文章來源:http://www.zghlxwxcb.cn/news/detail-731849.html
當(dāng)然個人還是覺得vlw文件格式太大了,自定義了一個字庫文件,這個文件同等漢字,并且16號字體只有508k,而12號字體只有400k不到。文章來源地址http://www.zghlxwxcb.cn/news/detail-731849.html
到了這里,關(guān)于TFT屏幕在arduino (esp 32)下的驅(qū)動,漢字顯示和字庫比較的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!