Arduion应用U8g2库实现字符滚动效果

 由于U8g2库中没有可以位移的函数,所以简单编写了一个可以实现字符滚动的代码。主要是为了记录一下自己学习Arduion的过程。算是一个记事本吧!当然如果你对于这方面有所需求,可以拿去使用。

主要是利用显示器范围只有0----128,同时不断调整输出字符的位置实现的。

代码中运用到了两端字符输出函数(若只有一段,无法达到轮流的效果,只能从0-128)

 (一段输出效果)

Arduion应用U8g2库实现字符滚动效果_第1张图片

(两端输出效果) 

代码如下:

#include 
#include 

U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);//该驱动是1.3寸的OLED屏幕。---------U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);这是比较常用的0.9寸的OLED显示器的驱动

void setup(void) {
  u8g2.begin();
}

void loop(void) {
  /*循环输出字符,同时输出两端字符,x轴不断改变实现移动。
   * 第一段移动范围0-----128-----256
   * 第二段移动范围-128-----0------128
   */
   int y=1;//调节位移速度,可用于加快字符位移速度
  for(int x=0;x<256;x+=y){//x+=y ----->等价于x=x+y
      u8g2.clearBuffer();         // 清除内部缓冲区
   u8g2.setFont(u8g2_font_ncenB08_tr); //设置字体
  u8g2.drawStr(x,10,"Hello World!");  // 第一段输出位置
  u8g2.drawStr(x-128,10,"Hello World!");//第二段输出位置
  delay(20);//延时程序,可以降低位移速度
  u8g2.sendBuffer();          // transfer internal memory to the displa
  }
}





 

你可能感兴趣的:(android,经验分享)