总结上文OLED的概念,OLED模块需要关注的点:
-
要驱动OLED模块的通信接口及控制一些OLED模块的控制引脚。
-
要通过修改SSD1309寄存器的值,初始化OLED模块(发命令的方式)
-
设置内存地址模式,这个会影响到字符串显示的驱动
-
熟悉SSD1309控制器的命令,有对比度,开关,滚屏等命令。//设置一些命令,可以实现滚屏的效果。
-
一般使用的内存地址模式是页地址模式,在显示 RAM 读写之后,列地址指针自动加一。如果列地址指针达到了列的结束地址,列地址指针重置为列开始地址并且页地址指针不会改变。
-
有128*64 bit 的显存,可以这样定义:uint8_t OLED_GRAM[128][8];
-
OLED的显存,存放格式如下.
[0]0 1 2 3 ... 127
[1]0 1 2 3 ... 127
[2]0 1 2 3 ... 127
[3]0 1 2 3 ... 127
[4]0 1 2 3 ... 127
[5]0 1 2 3 ... 127
[6]0 1 2 3 ... 127
[7]0 1 2 3 ... 127
结合自己的项目,驱动OLED的步骤:
-
确保OLED模块 与 STM32F1硬件接线方式正确。需要连接连接7个引脚,并且处理好限制引脚。
-
复位引脚RES#
-
4线SPI接口(SCLK, SDIN, CS#, D/C#) //D0充当SCLKÿ
-