最近在玩AB32VG1,在做OLED顯示實驗時,在csdn搜索了很多關于AB32VG1驅(qū)動OLED的文章,很多都是官方例程操作,在msh窗口中輸入測試指令,測試驅(qū)動是否正常。很少有關于在main函數(shù)中直接實現(xiàn)的,本編文章直接在MAIN函數(shù)實現(xiàn)OLED顯示,上電自動執(zhí)行。
根據(jù)說明書,AB32VG1開發(fā)板上有一路 I2C,本文通過 RT-Thread Studio配置 AB32VG1片上外設 I2C的引腳,驅(qū)動OLED工作,使開發(fā)板上電,OLED顯示字符串“Hello IIC”。電路原理如圖所示,
步驟說明:
首先創(chuàng)建工程,如圖所示,輸入工程名AB32VG1_IIC_OLED,點擊完成即可。
工程創(chuàng)建成功如上圖所示。
2.添加SSD1309軟件包
展開工程,雙擊打開RT-Thread Settings,如下圖所示,點擊Add按鈕,彈出軟件包搜索界面,如下圖所示
在搜索框中,輸入SSD1306,點擊搜索,結果如上圖所示,點擊添加即可。軟件包已經(jīng)添加至工程中,返回上個界面,既可以看到軟件包下面有了ssd1306,如下圖所示、
雙擊軟件包進入SSD1306軟件包配置界面,這里驅(qū)動要打上勾號,如下圖所示
然后在硬件中,開啟IIC功能,如下圖所示
點擊保存按鈕即可,SSD1306驅(qū)動配置完成。配置完成之后,打開packeges,可以看到該文件下已經(jīng)有了SSD1306_LATEST文件,這里存放的就是SSD1306的頭文件和源文件。如下圖所示。
打開源文件,可以看到如下藍色代碼,其中char ssd1306_WriteString(char* str, FontDef Font, SSD1306_COLOR color)這個函數(shù)是使得OLED顯示字符串,void ssd1306_SetCursor(uint8_t x, uint8_t y)這個函數(shù),則是設置光標位置。下面我們調(diào)用這兩個函數(shù)實現(xiàn)“hello IIC”的顯示。
3.修改main函數(shù)代碼
首先,要包含頭文件,#include “ssd1306.h”//包含SSD1306的頭文件
然后在main函數(shù)里面添加如下代碼:
ssd1306_Init();//添加代碼,顯示屏初始化ssd1306_SetCursor(2, 6);//添加代碼,設置顯示光標位置ssd1306_WriteString(“Hello IIC”, Font_11x18, White);//添加代碼,設置顯示內(nèi)容ssd1306_UpdateScreen();////添加代碼,更新顯示屏信息
修改之后的main函數(shù)如下圖所示。編譯工程,下載文件至開發(fā)板,運行效果如下圖所示。
OK大功告成!!!!
責任編輯:haq
-
OLED
+關注
關注
119文章
6220瀏覽量
224834 -
開發(fā)板
+關注
關注
25文章
5121瀏覽量
98210 -
中科藍訊
+關注
關注
9文章
57瀏覽量
9933
原文標題:【原創(chuàng)專欄】RTT大賽作品連載:AB32VG1開發(fā)板OLED顯示實驗
文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發(fā)燒友論壇】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
基于哪吒開發(fā)板部署YOLOv8模型
![基于哪吒<b class='flag-5'>開發(fā)板</b>部署YOLOv8模型](https://file1.elecfans.com/web2/M00/0C/93/wKgaomc26BaAWn_pAABb4ZQ4M0o168.png)
正點原子fpga開發(fā)板不同型號
【干貨】性價比拉滿!HK32F407VG開發(fā)板介紹
![【干貨】性價比拉滿!HK32F407<b class='flag-5'>VG</b><b class='flag-5'>開發(fā)板</b>介紹](https://file1.elecfans.com/web2/M00/A4/0C/wKgaomUACo-Ae1rtAAB1LgQrdkg565.png)
在TI開發(fā)板上啟用Android Automotive
![在TI<b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b>啟用Android Automotive](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
linux開發(fā)板如何編譯curl
ElfBoard技術貼|如何在ELF 1開發(fā)板上搭建流媒體服務器
![ElfBoard技術貼|如<b class='flag-5'>何在</b>ELF <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b>搭建流媒體服務器](https://file1.elecfans.com/web2/M00/04/6E/wKgaombEPEuAU2NVAABA0p3Um-o988.png)
OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于Hi3518開發(fā)板)】
![OpenHarmony鴻蒙南向<b class='flag-5'>開發(fā)</b>案例:【智能貓眼(基于Hi3518<b class='flag-5'>開發(fā)板</b>)】](https://file1.elecfans.com/web2/M00/D3/A2/wKgZomYlGnGAEsJrAAnql-cr_sM996.jpg)
OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于3516開發(fā)板)】
![OpenHarmony鴻蒙南向<b class='flag-5'>開發(fā)</b>案例:【智能貓眼(基于3516<b class='flag-5'>開發(fā)板</b>)】](https://file1.elecfans.com/web2/M00/D1/4F/wKgaomYidIOAb5t-AASi2dMK2KA073.jpg)
fpga開發(fā)板是什么?fpga開發(fā)板有哪些?
ELF技術貼|如何在開發(fā)板上實現(xiàn)對Java的支持
![ELF技術貼|如<b class='flag-5'>何在</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b>實現(xiàn)對Java的支持](https://file1.elecfans.com/web2/M00/C5/1A/wKgaomXxaDCADbm_AAA89wQPeVU499.png)
如何在PSoC62 Evaluation kit開發(fā)板上運行RT-Thread呢?
![如<b class='flag-5'>何在</b>PSoC62 Evaluation kit<b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b>運行RT-Thread呢?](https://file1.elecfans.com/web2/M00/C1/40/wKgZomXdTiCALqQxAABSO4fFgn4963.jpg)
評論