Arduino ESP8266 U8g2库 完成OLED 屏幕中文和进度条

Arduino U8g2库渲染中文两种方式
1.全屏渲染

#include 
#include 
//定义全局渲染模式
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/U8X8_PIN_NONE);
void setup(void)
{
  //初始化OLED对象
  u8g2.begin();
  //开启字符支持
  u8g2.enableUTF8Print(); 
}
void loop(void)
{
  //设置字体
  u8g2.setFont(u8g2_font_unifont_t_chinese2); 

  u8g2.setFontDirection(0);
  //清除缓存
  u8g2.clearBuffer();
  //设置光标位置
  u8g2.setCursor(0, 30);
  u8g2.print(" 你好啊");
  //发送缓存区内容
  u8g2.sendBuffer();

  delay(1000);
}

2.局部渲染模式(完成进度条效果)

#include 
#include 
U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/U8X8_PIN_NONE);
int num=1;
void setup(void)
{
  //初始化OLED对象
  u8g2.begin();
  //开启字符支持
  u8g2.enableUTF8Print(); 
}
void loop(void)
{
  u8g2.firstPage();
  do{
    
    //设置外边框
    u8g2.drawFrame(0,42,128,20);
    //设置内边框
    u8g2.drawBox(5,45,num,15);
  }while (u8g2.nextPage());

  if(num<128){
    num=num+1;
  }else
  {
    num=1;
  }
  
}

你可能感兴趣的:(单片机)