U8G2中文显示问题(u8g2.drawStr()中文不显示)

这篇具有很好参考价值的文章主要介绍了U8G2中文显示问题(u8g2.drawStr()中文不显示)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        在使用u8g2进行中文先显示时,踩到一个坑,其他大佬也没有专门提过这一点,现跟大家分享一下。

        起因是在看一些例程时,直接采用u8g2.drawStr()来进行英文输出,在想用该方法进行中文输出时,无法显示中文。

运行代码如下:

#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>

U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 22, /* data=*/ 21, /* reset=*/ U8X8_PIN_NONE);   // SDA:21 scl:22 
void setup(void) {  
  u8g2.begin();
  u8g2.enableUTF8Print();
}

void loop(void) 
{  
  u8g2.clearBuffer(); 
  u8g2.setFont(u8g2_font_wqy15_t_gb2312);     
  u8g2.drawStr(10,20,"你好");
  u8g2.drawStr(10,40,"Hello");        
  u8g2.sendBuffer();
  delay(1000);
}

显示效果为:

U8G2中文显示问题(u8g2.drawStr()中文不显示)

只显示"Hello",不显示"你好​​"。

        原因是u8g2.drawStr()只能进行英文显示,要想输出中文应使用u8g2.print()和u8g2.drawUTF8()

使用u8g2.print()方法输出:

#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>

U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 22, /* data=*/ 21, /* reset=*/ U8X8_PIN_NONE);   // SDA:21 scl:22 
void setup(void) {  
  u8g2.begin();
  u8g2.enableUTF8Print();
}

void loop(void) 
{  
  u8g2.clearBuffer(); 
  u8g2.setFont(u8g2_font_wqy15_t_gb2312);     
  //u8g2.drawStr(10,20,"你好");
  u8g2.setCursor(10,20);
  u8g2.print("你好");
  u8g2.drawStr(10,40,"Hello");        
  u8g2.sendBuffer();
  delay(1000);
}

U8G2中文显示问题(u8g2.drawStr()中文不显示)

 使用u8g2.drawUTF8()输出

#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>

U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 22, /* data=*/ 21, /* reset=*/ U8X8_PIN_NONE);   // SDA:21 scl:22 
void setup(void) {  
  u8g2.begin();
  u8g2.enableUTF8Print();
}

void loop(void) 
{  
  u8g2.clearBuffer(); 
  u8g2.setFont(u8g2_font_wqy15_t_gb2312);     
  //u8g2.drawStr(10,20,"你好");
  //u8g2.setCursor(10,20);
  //u8g2.print("你好");
  u8g2.drawUTF8(10,20,"你好啊");
  u8g2.drawStr(10,40,"Hello");        
  u8g2.sendBuffer();
  delay(1000);
}

官方文档中,也明确指出了这一点。

U8G2中文显示问题(u8g2.drawStr()中文不显示)

 文章来源地址https://www.toymoban.com/news/detail-510245.html

 

到了这里,关于U8G2中文显示问题(u8g2.drawStr()中文不显示)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • U8g2库的STM32硬件SPI(DMA)移植教程(HAL、OLED显示、四线SPI、DMA)

    本文教你把U8g2图形库移植到STM32上,基于STM32的硬件SPI、CubeMX U8g2库Github网址:https://github.com/olikraus/u8g2 U8g2库CSDN镜像网址:https://gitcode.net/mirrors/olikraus/u8g2?utm_source=csdn_github_accelerator 硬件准备:STM32C8T6(STM32系列芯片)、0.96寸OLED(128×64)、J-Link(或其他) 引脚连接: 出自此

    2024年02月09日
    浏览(50)
  • 基于STM32的u8g2移植以及学习

      实验硬件: STM32F103C8T6;0.96寸OLED(128×64)   U8g2库开源网址: https://github.com/olikraus/u8g2 1.1 什么是u8g2?         U8g2是嵌入式设备的 单色图形库 。主要应用于嵌入式设备,包括我们常见的单片机使用,最常用的是OLED屏或者LCD屏进行使用的一个库;         我们常用的

    2024年02月08日
    浏览(40)
  • [低端局][cx32L003] 移植U8G2

    在低端芯片上使用U8G2 U8g2:单色显示库,版本2 U8g2是一个用于嵌入式设备的单色图形库。U8g2支持单色oled和lcd,其中包括以下控制器:Ssd1305、ssd1306、ssd1309、ssd1312、ssd1316、ssd1318、ssd1320、ssd1322、ssd1325、ssd1327、ssd1327、ssd1327、ssd1327、ssd1327、ssd1327、ssd1106、sh1107、sh1108、ssd1607、

    2024年02月13日
    浏览(44)
  • 【ESP32之旅】U8g2 在线仿真和UI调试

    几乎每个玩屏幕的电子DIYer都知道万能的屏幕驱动中间件u8g2库,这个库提供了强大的驱动适配和ui设计能力。但是官方没有一个好用的ui设计和仿真软件,在设计UI布局的时候对单片机频繁的烧录调试浪费了大量的时间。最近在论坛看到有一个第三方维护的在线u8g2 UI设计软件

    2024年02月09日
    浏览(48)
  • esp32 Arduino(九)u8g2图形库 IIC驱动OLED

    LED驱动芯片:SSD1306 开发平台: vscode+platformIO 开发板:ESP32 Divkit v1 目前Arduino平台上使用最广泛的OLED库: U8G2 github地址: https://github.com/olikraus/u8g2/ 设置和参考手册:https://github.com/olikraus/u8g2/wiki U8g2:单色显示器库,版本2 U8g2是用于嵌入式设备的单色图形库。U8g2支持单色OLED和LCD,包括

    2023年04月09日
    浏览(60)
  • ESP32 入门笔记04: 0.96寸OLED 显示屏 + u8g2库丝滑显示UI (ESP32 for Arduino IDE)

    先导知识 ESP32 入门笔记01:开发板信息、开发环境搭建以及学资料准备 ESP32 入门笔记02: GPIO参考指南 在本例中,我们使用 I2C 通信协议。ESP32 中最适合 I2C 通信的引脚是通用输入输出接口 22(SCL) 和通用输入输出接口 21(SDA) 。 安装 SSD1306 OLED 库 – ESP32 (也可以用u8g2库,在Ardu

    2024年01月19日
    浏览(56)
  • 【STM32 MCU】使用标准外设库(SPL)移植 u8g2 图形库

    MCU STM32F103C8T6 Module 0.96 inch OLED with SSD1306 Library Standard peripheral library Porting to new MCU platform · olikraus/u8g2 Wiki (github.com) 为了减小编译后的大小,我们需要删除或精简以下的文件 U8g2 的源码为了支持多种控制器(controller),包含了许多兼容性的代码。首先,类似 u8x8_d_xxx.c 命名的

    2024年04月10日
    浏览(46)
  • STM32移植u8g2玩转oled 用软件iic实现驱动oled

    移植u8g2到stm 这里是驱动iic 这里可以驱动u8g2 具体作用后续学习 下面就基本上可以驱动成功 最主要是修改后的u8g2的图

    2024年02月11日
    浏览(55)
  • 【U8G2库移植到STM32F103C8T6上】

    最近在B站上刷到了一位up主设计的oled丝滑界面WouoUI,一个优雅得比较像话的UI框架,128 * 64 经过询问,得知up用的是U8G2库,U8G2多用于arduino编译器上,但是我们学校常用的是stm32。 所以经过一段时间的研究,我将U8G2库移植到了stm32f103c8t6上进行使用。 关于U8G2的使用,可以参考

    2024年02月11日
    浏览(42)
  • HAL/LL/STD STM32 U8g2库 +I2C SSD1306/sh1106 WouoUI磁贴案例

    📍基于STM32F103C8T6 LL库驱动版本: https://gitee.com/chcsx/platform-test/tree/master/MDK-ARM 🎬视频演示: WouoUI移植磁贴案例,新增确认弹窗 📍基于标准库驱动,STM32F103RCT6移植u8g2 硬件i2c WouoUI磁贴: https://gitee.com/henrycrh/stm32-f103-rct6_-wouo-ui/tree/master/STM32F10x_FWlib/src 🎬视频演示: 🔖使用LL库

    2024年02月22日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包