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

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

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

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

 (一段输出效果)

(两端输出效果) 

代码如下:

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

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
  }
}





 

  • 8
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值