nodemcu(esp8266)u8g2 oled显示汉字获取网络时间

我的OLED是1.3寸128×64点阵,驱动是SH1106 I2C接口,我用的U8G2的模块,u8G2有16×16的汉字,Chinese1,chinese2,chinese3,三个汉字字体,是unicode编码,不过我发现汉字不全,只有很少一部分,用DrewGlyph显示。有知道的欢迎讨论。本来分两个文件,发现问题比较多,现在用一个init.lua文件,发现是可以的,连接热点后,可以同步时间,并且在OLED上显示出来,显示正常,程序如下:I2C用的1,2为数据端。时间刷新10S,也可设短,但是改程序,不好传进去。

function init_OLED(sda,scl)
     sla = 0x3c
     i2c.setup(0, sda, scl, i2c.SLOW)
     disp=u8g2.sh1106_i2c_128x64_noname(0,sla)
    
     disp:setFontPosTop()
end
function print_OLED()
  
 disp:clearBuffer()

  
  disp:setFont(u8g2.font_unifont_t_chinese1)
   disp:drawGlyph(45, 3, 24180)
   disp:drawStr(1, 3, tostring(time["year"]))
    disp:drawStr(64, 3, tostring(time["mon"]))
     disp:drawStr(97, 3, tostring(time["day"]))
    disp:setFont(u8g2.font_unifont_t_chinese2)
   disp:drawGlyph(80, 3,26376)
 disp:setFont(u8g2.font_unifont_t_chinese2)
   disp:drawGlyph(115, 3,26085)
disp:drawLine(10,25,120,25)
   
   disp:setFont(u8g2.font_unifont_t_chinese2)
   disp:drawGlyph(44, 30,26102)
    disp:drawStr(28, 30, tostring(time["hour"]+8))
     disp:drawStr(60, 30, tostring(time["min"]))
      disp:drawStr(97, 30, tostring(time["sec"]))
  disp:setFont(u8g2.font_unifont_t_chinese1)
   disp:drawGlyph(80, 30, 20998)
   以上部分代吗,三天的时间,主要是做个总结,需要全部代码的。联系我,wunnu@live.com

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据引用\[1\]和引用\[2\]的内容,你在使用ESP32的时候遇到了在OLED显示中文的问题。你发现官方的u8g2 Chinese编码库不完全,导致一些无法显示出来。你在网上找了很久也没有找到解决方法。最后你自己摸索出了解决方法,并希望能帮助其他人解决这个问题。 根据引用\[2\]中的描述,你使用的是1.3寸128×64点阵的OLED,驱动是SH1106,使用了U8G2库的模块。U8G2库提供了16×16的汉字体,但你发现汉字不全,只有很少一部分。你使用了DrewGlyph来显示汉字。 根据引用\[3\]中的示例代码,你可以使用u8g2_SetFont和u8g2_DrawUTF8函数来显示中文。示例代码中使用了u8g2_font_unifont_t_symbols体,并在OLED显示了一个雪人的图案。 综上所述,你可以尝试使用u8g2_SetFont和u8g2_DrawUTF8函数来显示中文。你可以选择合适的体,并根据需要在OLED显示相应的文或图案。希望这些信息对你有帮助。 #### 引用[.reference_title] - *1* [Platformio ESP32:安装第三方u8g2中文体库以实现在oled上的全部中文文显示输出](https://blog.csdn.net/weixin_45461706/article/details/124750468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [nodemcu(esp8266u8g2 oled显示汉字获取网络时间](https://blog.csdn.net/qq_41795958/article/details/98841761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [玩转u8g2 OLED库,一篇就够——基于SMT32、HAL](https://blog.csdn.net/qq_51096702/article/details/130257230)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值