IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> u8g2库中文以及图片的显示入门 -> 正文阅读

[嵌入式]u8g2库中文以及图片的显示入门

使用的是0.96寸的四脚OLED,芯片为ESP-WROOM-32。

汉字滚动:
(屏幕为128x64)

int y = 1, x = 0;   //改变y的值可以调节位移速度
void loop()
{
    if (x <= 256)
    {
      u8g2.clearBuffer();                         
      u8g2.setFont(u8g2_font_unifont_t_chinese1); //设置字体
      u8g2.setCursor(x, 15);                      //tx=x,ty=y(x轴[128],y轴[64])
      u8g2.print("中文");
      u8g2.setCursor(x - 128, 15);              
      u8g2.print("中文");
      delay(20);         //延时程序,可以降低位移速度
      x = x + y;
      u8g2.sendBuffer(); 
    }
    else
    {
      x = 0;
    }
}

字库建立的方法请参考:Arduino驱动LED128X64 - U8g2 自定义中文字库_在求学的路上越走越远-CSDN博客_u8g2自定义字库

或者通过PCtoLCD2002软件进行取模,这样可以规定字体的大小。如果使用建立字库或者直接使用原始字库,其字体大小时固定的。

图片显示:

static const unsigned char al_logo[] U8X8_PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x80, 0x07,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x3C, 0x80, 0x07, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x3C, 0x80, 0x07, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xFF, 0x03, 0x3C, 0x80, 0x07, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x80, 0xCF, 0x07, 0x3C, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x80, 0x83, 0x07, 0x3C, 0x80, 0x07, 0xF8, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x81, 0x07, 0x3C, 0x80, 0x07, 0xFC, 0x03, 0x1C, 0x00, 0x3E, 0x1C,
  0xC0, 0x03, 0x3C, 0x80, 0x07, 0xFF, 0x07, 0x7F, 0x80, 0xFF, 0x3F, 0xE0,
  0x01, 0x3C, 0x80, 0x07, 0xFF, 0x8F, 0xFF, 0xC1, 0xFF, 0x3F, 0xF0, 0x00,
  0x3C, 0x80, 0x87, 0xFF, 0xDF, 0xFF, 0xC1, 0xC3, 0x07, 0x7C, 0x00, 0x3C,
  0x80, 0x87, 0x0F, 0xFE, 0xFF, 0xE3, 0x81, 0x03, 0x1E, 0x00, 0x3C, 0x80,
  0xC7, 0x07, 0xFC, 0xE3, 0xE3, 0x81, 0x07, 0x0F, 0x00, 0x3C, 0x80, 0xC7,
  0x07, 0xF8, 0xC1, 0xE7, 0x81, 0x87, 0xFF, 0x07, 0x3C, 0x80, 0xC7, 0x03,
  0xF0, 0x80, 0xE7, 0xC3, 0x87, 0xFF, 0x07, 0x3C, 0x80, 0xC7, 0x03, 0x70,
  0x80, 0xC7, 0xE7, 0x83, 0xFF, 0x07, 0x3C, 0x80, 0xC7, 0x03, 0x78, 0x80,
  0xC7, 0xFF, 0x03, 0x00, 0x00, 0x3C, 0x80, 0xC7, 0x03, 0xF8, 0xC0, 0x87,
  0xFF, 0x01, 0x00, 0x00, 0x3C, 0x80, 0xC7, 0x07, 0xFC, 0xC1, 0xC7, 0x7F,
  0x00, 0x00, 0x00, 0x3C, 0xC0, 0x87, 0x0F, 0xFE, 0xFF, 0xE3, 0x01, 0x00,
  0x00, 0x00, 0x78, 0xC0, 0x83, 0xFF, 0xDF, 0xFF, 0xE3, 0x03, 0x00, 0x00,
  0x00, 0xF8, 0xF1, 0x03, 0xFF, 0x8F, 0xFF, 0xE1, 0xFF, 0x07, 0x00, 0x00,
  0xF0, 0xFF, 0x01, 0xFE, 0x0F, 0xFF, 0xC0, 0xFF, 0x0F, 0x00, 0x00, 0xE0,
  0xFF, 0x00, 0xFC, 0x03, 0x7C, 0xC0, 0xFF, 0x1F, 0x00, 0x00, 0x80, 0x3F,
  0x00, 0xF8, 0x01, 0x00, 0xE0, 0x01, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x20, 0xF0, 0xC7, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
  0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xC0,
  0xFF, 0x03, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xFF,
  0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00,};  //图片取模后的点阵
void setup()
{
  u8g2.begin();
}
void loop()
{
  u8g2.firstPage();
  do
  {
    u8g2.setFont(u8g2_font_ncenB14_tr);    //设置字体
    u8g2.drawXBMP(0, 0, 85, 44, al_logo);  // (0,0)为显示的起始位置;(85,44)为图片的大小,需要根据实际图片的大小来更改
  } while (u8g2.nextPage());
}

图片取模的方法请参考:
(1)(18条消息) U8g2显示BMP图片 PCtoLCD2002取模_在求学的路上越走越远-CSDN博客_pctolcd2002怎么显示图片

(2)(18条消息) 0.96寸OLED显示 图片_Hh刘的博客-CSDN博客_oled显示图片

其他:
一、用户选择界面

  u8g2.firstPage();
  do
  {
    u8g2.setFont(u8g2_font_6x10_tf); 
    u8g2.setFontRefHeightAll();    //这将为按钮内的文本添加一些额外的空间 
    u8g2.userInterfaceMessage("Title1", "Title2", "Title3", " Ok \n Cancel ");  //用户选择界面
  } while (u8g2.nextPage());

二、特殊图形
特殊图像有很多,这是其中的一部分。

  u8g2.firstPage();
  do
  {    u8g2.setFont(u8g2_font_unifont_t_symbols);      //特殊图形,见图标
    u8g2.drawGlyph(5, 20, 0x2603);  //dec 9731/hex 2603 Snowman (对应下图的位置) 
  } while (u8g2.nextPage());

部分图形编号如下图:
在这里插入图片描述
第一次发,如果有什么不对的地方,请各位大佬指出来,我一定改正或者有什么更好的方法也请大佬们能够指点指点。
这里祝大家每天开心,工作愉快,学习天天向上。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-02-19 01:20:04  更:2022-02-19 01:22:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:46:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码