如何在MAIN函数实现OLED显示

描述

作者:马艳彬

发烧友专栏号:RTT大赛学习经验分享

最近在玩AB32VG1,在做OLED显示实验时,在csdn搜索了很多关于AB32VG1驱动OLED的文章,很多都是官方例程操作,在msh窗口中输入测试指令,测试驱动是否正常。很少有关于在main函数中直接实现的,本编文章直接在MAIN函数实现OLED显示,上电自动执行。

根据说明书,AB32VG1开发板上有一路 I2C,本文通过 RT-Thread Studio配置 AB32VG1片上外设 I2C的引脚,驱动OLED工作,使开发板上电,OLED显示字符串“Hello IIC”。电路原理如图所示,

OLED屏

开发板实物IIC位置如图所示:

OLED屏

I2C的 OLED屏,芯片 SSD1309.

OLED屏

步骤说明:

首先创建工程,如图所示,输入工程名AB32VG1_IIC_OLED,点击完成即可。

OLED屏

OLED屏

工程创建成功如上图所示。

2.添加SSD1309软件包

展开工程,双击打开RT-Thread Settings,如下图所示,点击Add按钮,弹出软件包搜索界面,如下图所示

OLED屏

OLED屏

在搜索框中,输入SSD1306,点击搜索,结果如上图所示,点击添加即可。软件包已经添加至工程中,返回上个界面,既可以看到软件包下面有了ssd1306,如下图所示、

OLED屏

双击软件包进入SSD1306软件包配置界面,这里驱动要打上勾号,如下图所示

OLED屏

然后在硬件中,开启IIC功能,如下图所示

OLED屏

点击保存按钮即可,SSD1306驱动配置完成。配置完成之后,打开packeges,可以看到该文件下已经有了SSD1306_LATEST文件,这里存放的就是SSD1306的头文件和源文件。如下图所示。

OLED屏

打开源文件,可以看到如下蓝色代码,其中char ssd1306_WriteString(char* str, FontDef Font, SSD1306_COLOR color)这个函数是使得OLED显示字符串,void ssd1306_SetCursor(uint8_t x, uint8_t y)这个函数,则是设置光标位置。下面我们调用这两个函数实现“hello IIC”的显示。

OLED屏

3.修改main函数代码

首先,要包含头文件,#include “ssd1306.h”//包含SSD1306的头文件

然后在main函数里面添加如下代码:

ssd1306_Init();//添加代码,显示屏初始化ssd1306_SetCursor(2, 6);//添加代码,设置显示光标位置ssd1306_WriteString(“Hello IIC”, Font_11x18, White);//添加代码,设置显示内容ssd1306_UpdateScreen();////添加代码,更新显示屏信息

修改之后的main函数如下图所示。编译工程,下载文件至开发板,运行效果如下图所示。

OLED屏

OLED屏

OK大功告成!!!!

下一期文章,OLED显示ADC通道采集电压值。

原文标题:【原创专栏】RTT大赛作品连载:AB32VG1开发板OLED显示实验

文章出处:【微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。
       责任编辑:pj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分