[经验分享] GD32F350学习系列2:使用IO口驱动OLED屏

wudianjun2001   2018-9-9 09:36 楼主
     最近比较忙,每天5:30起床,6:30出门,7:00上班,下班回来接孩子烧饭什么的,感觉一点自己的时间都没有,周六还要加班,只能周日在家玩玩板卡了。前一篇介绍了如何使用开发环境,编译下载demo例程,后续的程序都在demo的工程基础上进行修改,先把不符合自己习惯的文件夹和用不打的文件都进行修改删除,然后再加入自己的程序。
      我习惯从基本的东西开始慢慢的搞,demo的例程里有发光二极管的驱动,直接调用的库函数,还是比较容易上手的,我这次用IO口直接驱动OLED屏来试试,手上这个OLED屏是96*64点阵全彩,SPI接口的,我先使用IO口来模拟SPI。后续搞到SPI功能的时候再修改成SPI功能。

先看下OLED屏的接口信号,数据线要5根
1.png

再来看板卡的原理图,准备使用PA4~PA8这几个引脚驱动OLED屏,因为这几个引脚包含了SPI的功能,这样的话以后修改成SPI驱动OLED的话就不用改飞线了
2.png
3.png

程序里引脚定义,和SPI的功能对应起来
4.png

主程序里OLED引脚初始化,打开A端口时钟,选择推挽输出模式
5.png

模拟SPI发送一个字节数据函数
6.png

写显示数据,或者命令函数,有一个OLED的引脚电平高低来决定写的是显示数据还是命令数据
7.png

最基本的显示一个点的函数,后面的显示汉字什么的都是以这个函数为基础。这个OLED屏的驱动都是直接一个点一个点进行显示操作的,所以速度比较慢,尤其是整个屏幕清屏的时候,可以看到明显的迟钝。
8.png

OLED屏初始化和清屏函数,具体显示字符图形等函数这里就不做多的介绍了,网上有个各种例程
9.jpg
10.jpg

主程序里的显示调用函数
11.png

实际的显示效果照片
12.png
13.jpg


回复评论 (5)

学习了
承接1-20层pcb板快速打样(高频板 F4B 罗杰斯 TACONIC 特殊板)叶生 13823677869(同微信)QQ:116425136
点赞  2018-9-9 10:15
谢谢分享。这个屏价格很高?
点赞  2018-9-9 10:54
引用: serialworld 发表于 2018-9-9 10:54
谢谢分享。这个屏价格很高?

没多少钱吧,以前别的地方活动送的
点赞  2018-9-9 11:57
你好 代码 可以发送一下给我吗 2622918652@qq.com 谢谢
点赞  2018-11-1 22:17
你好 代码 可以发送一下给我吗  320939968@qq.com  谢谢
点赞  2023-5-27 09:42
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复