OLED---SPI
作者:互联网
//OLED=优点:节能省电自发光,无需背光源。
//OLED接口模式(为图简单通常使用SPI)
1、6800、8080两种并行接口
2、4线SPI接口和I2C(只需要两根线就可以控制)接口
//0.96村OLED模块(分辨率128*64bit)---SSD1306B驱动--SSD1306B的显存一共128*64bit,SSD1306B将显存分为了8页,每页包含128个byte,一共128*8byte(也就是128*64bit),对应xy坐标GRAM[128][8],128列,8行
//OLED显示原理
STM32在内部建立了一个128*8byte的缓存区(也就是SRAM空间),每次程序修改之后,一次性将数据从SRAM上传到OLED的GRAM中去。
附:对于3线或者4线SPI模式,SSD1306B这个模块是不支持读只能往里面写数据,而一个周期内接收8位数据帧时没有提前读状态,造成了往里面写数据后,可能原本不需要点亮的位置被点亮了,而需要点亮的位置么有被点亮,为了解决这个问题,在STM32内部建立了一个OLED的128*8byte的缓存区...
0:OLED设置对比度
发送两个字节
第一个字节为命令-0x81
第二个字节为设置对比度值,值越大屏幕越亮(0X00-0XFF)
1:关闭/开启OLED显示
发送一个命令字节,高七位固定,最低位X0=0关闭显示,X0=1开启显示
0xAE:关闭显示
0xAF:开启显示
2:关闭/开启电荷泵
发送两个字节
第一个字节为命令-0x8D
第二个字节为设置电荷泵开关
位0,1,4,5,6固定,位6位7随意,位2控制电荷泵开关
A2=0关闭电荷泵
A2=1开启电荷泵
注意:在模块初始化时,必须开启,否则看不到屏幕显示
3:0xB0-0xB7 设置页地址
发送一个字节,高5位固定
位0-位2 , X[2:0]共3位, 值范围0-7对应页0-7地址(共8页)
4:0x00-0x0F设置列地址起始低四位
高四位固定
低四位设置列地址起始低四位
5:0x10-0x1F设置列地址起始高四位
高四位固定
低四位设置列地址起始高四位
————————————————
//OLED初始化过程
GPIO口初始化、OLED驱动初始化(必要时需要关闭JTAG)、开启显示、清屏操作、开始显示。
因为 OLED 是无背光的,在初始化之后,我们把
显存都清空了,所以我们在屏幕上是看不到任何内容的,跟没通电一个样,不要以为这就是初
始化失败,要写入数据模块才会显示的。
标签:字节,开启,电荷泵,---,SPI,OLED,128,四位 来源: https://blog.csdn.net/weixin_42244912/article/details/115353492