[問題] ESP32S2用u8g2在OLED上顯示繁體中文失敗

看板Electronics作者 (銅牌處男最後希望)時間2年前 (2021/07/30 20:27), 編輯推噓0(003)
留言3則, 2人參與, 2年前最新討論串1/1
上網看了教學 也甚至自己拿新細明體做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

07/31 14:28, 2年前 , 1F
你有沒有檢查生成字庫後,到底燒錄容量夠不夠?
07/31 14:28, 1F

07/31 22:27, 2年前 , 2F
你在懷疑的是reset pin設定。英文可以正常顯示?
07/31 22:27, 2F

07/31 22:28, 2年前 , 3F
如果顯示的字不會一直變化也可以轉成圖片
07/31 22:28, 3F
文章代碼(AID): #1X0_0j-u (Electronics)