作者corydoras09 (銅牌處男最後希望)
看板Electronics
標題[問題] ESP32S2用u8g2在OLED上顯示繁體中文失敗
時間Fri Jul 30 20:27:21 2021
上網看了教學
也甚至自己拿新細明體做BDF
檢查TGA檔
都有轉出中文沒錯
https://imgur.com/tAP7Eal
但是不管怎麼樣轉出來的中文
都幾乎無法顯示
只有少數幾個中文字能顯示
甚至連"中文"都不顯示了
https://imgur.com/Sv5Id5J
修改chinese1、用不同的bdf轉map、
用別人寫的快速工具(但是沒更改chinese1檔 還是自己手動修改)
也都沒辦法正常顯示
有沒有玩過U8G2的大大可以告知
該怎麼做才能轉出正確的文字檔
還是說是字的大小太大讓他無法顯示嗎?
#include <Arduino.h>
#include <U8g2lib.h>
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/
SDA, /* reset=*/ U8X8_PIN_NONE); // All Boards without Reset of the Display
//目前是懷疑這行,後面U8X8_PIN_NONE 代表甚麼意思啊?
void setup(void) {
u8g2.begin();
u8g2.enableUTF8Print(); // 啟動 UTF8 支援
}
void loop(void) {
u8g2.clearBuffer(); // clear the internal memory
u8g2.setFont(u8g2_font_unifont_t_chinese2); // 使用 chinese1字型檔
u8g2.setFontDirection(0);
u8g2.clearBuffer();
u8g2.setCursor(0, 30);
u8g2.print("2中文體溫編號員工成功簽到時間");
u8g2.sendBuffer();
delay(1000);
}
--
如果思考是生存的證明
我很難判斷,你是不是一具屍體
孤鴻寄語 默蒼離
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.205.67 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1627648045.A.FB8.html
→ MasterChang: 你有沒有檢查生成字庫後,到底燒錄容量夠不夠? 07/31 14:28
→ god145145: 你在懷疑的是reset pin設定。英文可以正常顯示? 07/31 22:27
→ god145145: 如果顯示的字不會一直變化也可以轉成圖片 07/31 22:28
→ mmonkeyboyy: 沒多少字應該是夠吧 我猜是中文庫那裡出錯 08/03 07:32