最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

TouchGFX開發(fā)(3)----使用TouchGFX配置IIC接口OLED

2023-08-31 17:36 作者:記帖  | 我要投稿

概述

TouchGFX是一種先進(jìn)的軟件框架,用于開發(fā)嵌入式圖形界面(GUI)。借助其特性,開發(fā)者可以在STM32連接到單色OLED顯示器,并使用PNG文件和Touch GFX引擎在屏幕上顯示圖像。 最近在弄ST的課程,需要樣片的可以加群申請:615061293。 參考文檔:https://support.touchgfx.com/4.18/zh-CN/docs/introduction/welcome

視頻教學(xué)

https://www.bilibili.com/video/BV17m4y1t7RT/


樣品申請

https://www.wjx.top/vm/mSVawPF.aspx

完整代碼下載

https://download.csdn.net/download/qq_24312945/87806820

生成例程

使用STM32CUBEMX生成例程,這里使用MCU是STM32G030C8T6。 使用的OLED的IIC接口是PB8和PB9。?

在這里插入圖片描述

?配置IIC。

在這里插入圖片描述

配置時(shí)鐘樹

配置時(shí)鐘為64M。?

在這里插入圖片描述

開啟調(diào)試接口

在這里插入圖片描述

移植SSD1306

源碼使用的是GitHub上面的stm32-ssd1306源碼。?

https://github.com/afiskon/stm32-ssd1306?

git clone的地址為:?

https://github.com/afiskon/stm32-ssd1306.git

在這里插入圖片描述

?下載完畢之后,需要的文件如下所示。?


在這里插入圖片描述

將這幾個(gè)文件分別添加到對(duì)應(yīng)的文件夾中。?

在這里插入圖片描述

?將這幾個(gè)文件分別添加到對(duì)應(yīng)的文件夾中。

在這里插入圖片描述

修改ssd1306_conf_template.h文件中的定義,選取實(shí)際所使用的MCU和接口(IIC或者SPI,以及對(duì)應(yīng)通道)。?

在這里插入圖片描述

在main.c中添加頭文件。

在這里插入圖片描述

?在main.c中添加SSD1306初始化函數(shù)和demo演示函數(shù)。

在這里插入圖片描述

?在ssd1306_fonts.h文件中使用的頭文件為ssd1306_conf.h,所以需要修改ssd1306_conf_template.h文件名稱。?

在這里插入圖片描述

右鍵重命名。?

在這里插入圖片描述

?修改函數(shù)為ssd1306_conf.h。?

在這里插入圖片描述

配置調(diào)試

點(diǎn)擊小蟲子的下拉箭頭,選擇Debug Configurations?

在這里插入圖片描述

?這里我使用JLink進(jìn)行調(diào)試。?

在這里插入圖片描述

將程序下載進(jìn)去之后,可以看到OLED正常的進(jìn)行顯示。

在這里插入圖片描述

開啟TouchGFX

在STM32CUBEMX中安裝X-CUBE-TOUCHGFX軟件包。?


在這里插入圖片描述

?對(duì)X-CUBE-TOUCHGFX進(jìn)行配置。?

在這里插入圖片描述

對(duì)軟件包進(jìn)行配置,打開X-CUBE-TOUCHGFX,可以看到需要配置CRC。?

在這里插入圖片描述

?開啟CRC。

在這里插入圖片描述

配置屏幕參數(shù)由于使用的是單色OLED,所以設(shè)置為BW。

在這里插入圖片描述

設(shè)置屏幕刷新率

設(shè)置屏幕刷新率為20Hz,定時(shí)器計(jì)算函數(shù)如下所示。?

在這里插入圖片描述

使用一個(gè)定時(shí)器來產(chǎn)生一個(gè)20Hz的中斷來刷新屏幕。 PSC配置為640-1,ARR配置為5000-1。?

在這里插入圖片描述

?開啟中斷。?

在這里插入圖片描述

配置TouchGFX

重新生成工程之后,可以在STM32CUBEIDE中開啟TouchGFX。?

在這里插入圖片描述

?開啟完畢之后,界面如下所示。?

在這里插入圖片描述

由于所使用的OLED是單色的,那么配置底色為黑色的。 添加Box組件。?

在這里插入圖片描述

?選擇顏色為黑色。?

在這里插入圖片描述

?所需的png圖片可以從下面網(wǎng)站中進(jìn)行下載。?https://iconsdb.com/?在TouchGFX添加圖片組件。?

在這里插入圖片描述

?選擇對(duì)應(yīng)的圖片。?

在這里插入圖片描述

調(diào)整相應(yīng)的位置。?

在這里插入圖片描述

生成代碼。?

在這里插入圖片描述

?代碼生成成功。?

在這里插入圖片描述

TouchGFX代碼配置

在TouchGFXConfiguration.cpp中,可以看到已經(jīng)導(dǎo)入了LCD驅(qū)動(dòng)文件。?

在這里插入圖片描述

TouchGFXHAL.cpp定義TouchGFXGeneratedHAL的子類TouchGFXHAL。 OSWrappers.cpp(OSAL) 包含與TouchGFX Engine同步所需的功能,所以需要在TouchGFXHAL.cpp引入頭文件。

在這里插入圖片描述

?需要將數(shù)據(jù)從MCU緩沖區(qū)傳輸?shù)斤@示緩沖區(qū)中。

??



在這里插入圖片描述

在最后添加一個(gè)函數(shù),函數(shù)將被定時(shí)器每秒調(diào)用20次,用來刷新屏幕。


在main.c函數(shù)中,注釋掉剛剛的測試代碼。?

在這里插入圖片描述

開啟定時(shí)器中斷。

在這里插入圖片描述

?定義溢出事件回調(diào)函數(shù)。

在這里插入圖片描述

編譯

編譯過程中如果出現(xiàn)Flash不夠,可以修改優(yōu)化等級(jí)。?

在這里插入圖片描述

選擇Project->Properties?

在這里插入圖片描述

選擇合適的優(yōu)化等級(jí)。?

在這里插入圖片描述

實(shí)際效果

程序下載進(jìn)去之后,OLED顯示如下所示。?

在這里插入圖片描述


TouchGFX開發(fā)(3)----使用TouchGFX配置IIC接口OLED的評(píng)論 (共 條)

分享到微博請遵守國家法律
红河县| 吴川市| 沧州市| 云安县| 海南省| 宝清县| 易门县| 杭锦后旗| 台湾省| 黄大仙区| 崇文区| 梅州市| 台东县| 汝州市| 北宁市| 土默特右旗| 内乡县| 建阳市| 万荣县| 东至县| 南宫市| 丰都县| 祁连县| 德化县| 丹寨县| 望奎县| 濮阳市| 望谟县| 威宁| 宁都县| 雷山县| 咸丰县| 望城县| 涞源县| 锡林浩特市| 安龙县| 固原市| 惠水县| 息烽县| 咸宁市| 邢台市|