最近在玩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"http://包含SSD1306的頭文件
然后在main函數里面添加如下代碼:
ssd1306_Init();//添加代碼,顯示屏初始化
ssd1306_SetCursor(2, 6);//添加代碼,設置顯示光標位置
ssd1306_WriteString("Hello IIC", Font_11x18, White);//添加代碼,設置顯示內容
ssd1306_UpdateScreen();////添加代碼,更新顯示屏信息
修改之后的main函數如下圖所示。編譯工程,下載文件至開發板,運行效果如下圖所示。


OK大功告成!!!!
下一期文章,OLED顯示ADC通道采集電壓值。
編輯:fqj
-
OLED
+關注
關注
121文章
6357瀏覽量
233619 -
函數
+關注
關注
3文章
4417瀏覽量
67499 -
開發板
+關注
關注
26文章
6289瀏覽量
118039 -
編譯
+關注
關注
0文章
694瀏覽量
35155 -
RT-Thread
+關注
關注
32文章
1613瀏覽量
44818 -
中科藍訊
+關注
關注
10文章
66瀏覽量
10661
發布評論請先 登錄
RISC-V架構開發板AB32VG1測評之GPIO點燈
【RTT大賽作品連載】中科藍訊AB32VG1開發板開箱篇
【文章連載】RT-Thread創新應用大賽文章匯總
【RTT大賽作品連載】AB32VG1開發板OLED顯示實驗
如何在AB32VG1開發板OLED顯示使開發板上電
基于AB32VG1開發板的設備溫度檢測
RTT大賽作品:AB32VG1開發板OLED顯示實驗
評論