用12864程序驱动12832(SSD1306)

12832有32行,在硬件上,它们是12864的偶数行,即:

12832的row0,row1,row2......row31分别对应12864的row0,row2,row4......row62。

所以不对12864程序做任何修改直接用在12832上,显示的内容是“压扁”了的。

本文讨论的两种OLED屏

对此只需要修改ssd1306将数据映射在屏幕上的方式,这里涉及到三个命令:

1、COM引脚配置

这是一个两字节命令,命令为0xDA,参数的4、5位功能为:

A[4]影响奇数行和偶数行是互相穿插还是分开

A[5]影响的是奇数行和偶数行的上下关系

2、左右重映射

单字节命令,0xC0使能左右重映射,0xC8失能左右重映射。效果为OLED上下方向的镜像。这个主要是为了配合0xDA命令造成的翻转。

3、设置复用率

命令为0xA8,参数取值16~63,效果是垂直方向显示的范围

你可能感兴趣的:(用12864程序驱动12832(SSD1306))