本次分享采用SPI来驱动OLED显示屏。OLED显示屏控制器为SSD1306,控制128X64的点阵显示。
SSD1306的结构如下:
可以采用GPIO模拟SPI时序,本次实例直接采用GD32E231C8T6微控制器的SPI功能模块。
使用OLED的四线SPI模式,时序为:
每个管脚的详细信息可以查看SSD1306的芯片手册。
利用SPI0来驱动OLED屏,选择PB3和PB5为SCK和MOSI
将PB3-PB7初始化:
SPI写字节函数:
设置DC管脚,选择数据还是命令:
控制片选端:
控制是否复位:
写命令:
写数据:
OLED初始化函数
刷新显存:
往数据OLED_GRAM写入相应的点阵即可显示相应的内容。