OLED显示屏滚动函数编写


根据OLED内置SSD1306芯片手册编写:SSD1780 (lcdwiki.com)

  • 水平滚动

image-20211124235144168

下列代码中 第 5 行 到 第 11 行 就是按照图中所设置的,这个顺序应当是不能变的。

//OLED水平滚动
void OLED_horizontal_scroll()
{
	OLED_WR_Byte(0x2E,OLED_CMD);        //关闭滚动
	OLED_WR_Byte(0x27,OLED_CMD);        //水平向右或者左滚动 26/27
	OLED_WR_Byte(0x00,OLED_CMD);        //A: 虚拟字节
	OLED_WR_Byte(0x00,OLED_CMD);        //B: 起始页 0
	OLED_WR_Byte(0x07,OLED_CMD);        //C: 滚动间隔 2帧
	OLED_WR_Byte(0x07,OLED_CMD);        //D: 终止页 7
	OLED_WR_Byte(0x00,OLED_CMD);        //E: 虚拟字节
	OLED_WR_Byte(0xFF,OLED_CMD);        //F: 虚拟字节
	OLED_WR_Byte(0x2F,OLED_CMD);        //开启滚动
}
  • 水平垂直滚动

image-20211124235927260

图中的红框部分说明了:没有可利用的垂直滚动函数

下列代码中 第 5 行 到 第 10 行 就是按照图中所设置的,这个顺序应当是不能变的。

//OLED水平垂直滚动
void OLED_vertical_scroll()
{
	OLED_WR_Byte(0x2E,OLED_CMD);        //关闭滚动
	OLED_WR_Byte(0x29,OLED_CMD);        //垂直和水平向右或左滚动 29/2a
	OLED_WR_Byte(0x00,OLED_CMD);        //A: 虚拟字节
	OLED_WR_Byte(0x00,OLED_CMD);        //B: 起始页 0
	OLED_WR_Byte(0x07,OLED_CMD);        //C: 滚动间隔 2帧
	OLED_WR_Byte(0x07,OLED_CMD);        //D: 终止页 7
	OLED_WR_Byte(0x01,OLED_CMD);        //E: 垂直滚动偏移量 1行
	OLED_WR_Byte(0x2F,OLED_CMD);        //开启滚动
}

上述代码只是给个参考,自己灵活配置即可。
具体查看手册。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值