最近在玩AB32VG1,在做OLED显示实验时,在csdn搜索了很多关于AB32VG1驱动OLED的文章,很多都是官方例程操作,在msh窗口中输入测试指令,测试驱动是否正常。很少有关于在main函数中直接实现的,本编文章直接在MAIN函数实现OLED显示,上电自动执行。
根据说明书,AB32VG1 开发板上有一路 I2C,本文通过 RT-Thread Studio 配置 AB32VG1 片上外设 I2C 的引脚,驱动OLED工作,使开发板上电,OLED显示字符串“Hello IIC”。电路原理如图所示,
开发板实物IIC位置如图所示:
I2C 的 OLED 屏,芯片 SSD1309 .
步骤说明:
首先创建工程,如图所示,输入工程名AB32VG1_IIC_OLED,点击完成即可
工程创建成功如上图所示。
2.添加SSD1309软件包
展开工程,双击打开RT-Thread Settings,如下图所示,点击Add按钮,弹出软件包搜索界面,如下图所示
在搜索框中,输入SSD1306,点击搜索,结果如上图所示,点击添加即可。软件包已经添加至工程中,返回上个界面,既可以看到软件包下面有了ssd1306,如下图所示、
双击软件包进入SSD1306软件包配置界面,这里驱动要打上勾号,如下图所示
然后在硬件中,开启IIC功能,如下图所示
点击保存按钮即可,SSD1306驱动配置完成。配置完成之后,打开packeges,可以看到该文件下已经有了SSD1306_LATEST文件,这里存放的就是SSD1306的头文件和源文件。如下图所示。
打开源文件,可以看到如下蓝色代码,其中char ssd1306_WriteString(char* str, FontDef Font, SSD1306_COLOR color)这个函数是使得OLED显示字符串,void ssd1306_SetCursor(uint8_t x, uint8_t y)这个函数,则是设置光标位置。下面我们调用这两个函数实现"hello IIC"的显示。
3.修改main函数代码
首先,要包含头文件,#include "ssd1306.h"//包含SSD1306的头文件
然后在main函数里面添加如下代码:
ssd1306_Init();//添加代码,显示屏初始化
ssd1306_SetCursor(2, 6);//添加代码,设置显示光标位置
ssd1306_WriteString("Hello IIC", Font_11x18, White);//添加代码,设置显示内容
ssd1306_UpdateScreen();////添加代码,更新显示屏信息
修改之后的main函数如下图所示。编译工程,下载文件至开发板,运行效果如下图所示。
OK大功告成!!!!
下一期文章,OLED显示ADC通道采集电压值。
编辑:fqj
全部0条评论
快来发表一下你的评论吧 !