99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

emWin平臺(tái)上應(yīng)用RA8889顯示控制的UI界面的優(yōu)化

_Memor ? 來(lái)源:_Memor ? 作者:_Memor ? 2023-07-20 14:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

文章目錄

RA8889與emWin驅(qū)動(dòng)移植指南及顯示優(yōu)化

在RA8889上使用emWin的優(yōu)勢(shì)

前言

一、獲得emWin Graphic Library

1.1 安裝Keil MDK,在C:Keil_v5ARMSeggeremWin 路徑下獲得emWin library

1.2 在C:Keil_v5ARMSeggeremWinDoc 獲得emWin User&Reference Guide

1.3 獲得RA8889 API 范例程序

二、開(kāi)始移植

2.1. 新增3個(gè)文件夾 emwin_config,emwin_inc,emwin_lib

2.2 建立emwin_config 、 emwin_lib 、 emwin_demo 3個(gè)Groups

2.3 以上設(shè)定完后,我們編譯時(shí)應(yīng)該會(huì)產(chǎn)生以下錯(cuò)誤:

2.4 emWin GUI 時(shí)基源

2.5 分配內(nèi)存給emWin系統(tǒng)

2.6. GUIDRV_Template.c 修改

2.7 修改LCDConf.c如下圖:

三、在RA8889上使用emWin的優(yōu)勢(shì)

3.1 顯示效果優(yōu)化

3.2 多緩存應(yīng)用

總結(jié)

RA8889 + emWin Demo 視頻

在RA8889上使用emWin的優(yōu)勢(shì)

為了更好能實(shí)現(xiàn)RA8889的功能,如多緩存的應(yīng)用(內(nèi)置有128Mbit SDRAM),畫(huà)幾何圖形引擎,2D圖形加速引擎(BTE),畫(huà)中畫(huà)(PIP 實(shí)現(xiàn)彈窗利器)、顯示圖片(BMP、JPEG),視頻播放等等功能,我們已在emWin平臺(tái)上加入了以上的功能,提高實(shí)現(xiàn)顯示效率。

前言

本文在說(shuō)明如何將瑞佑科技的RA8889(液晶屏控制器TFT LCD Controller)的驅(qū)動(dòng)移植到emWin GUI Library里,實(shí)現(xiàn)在emWin平臺(tái)上使用RA8889內(nèi)置的液晶顯示控制功能,以下說(shuō)明請(qǐng)對(duì)照RA8889_API_emwin546_stm32f103_8080IF 范例程序,此范例基于使用RA8889 EV Board板上使用STM32F103VET6 MCU,使用Keil MDK 編譯。

一、獲得emWin Graphic Library

1.1 安裝Keil MDK,在C:Keil_v5ARMSeggeremWin 路徑下獲得emWin library

1.2 在C:Keil_v5ARMSeggeremWinDoc 獲得emWin User&Reference Guide

1.3 獲得RA8889 API 范例程序

獲得RA8889 API 范例程序/RA8889_API_emwin546_stm32f103_8080IF ,請(qǐng)與瑞佑科技深圳分公司瑞??萍嫉臉I(yè)務(wù)員聯(lián)系,獲取最新的RA8889_API_Demo_Vxx與RA8889_API_emwin546_stm32f103_8080IF范例。

二、開(kāi)始移植

RA8889_API_emwin546_stm32f103_8080IF 是由RA8889_API_Demo_Vxx加入emWin Library產(chǎn)生的,以下修改說(shuō)明請(qǐng)參考RA8889_API_emwin546_stm32f103_8080IF范例程序項(xiàng)目。

2.1. 新增3個(gè)文件夾 emwin_config,emwin_inc,emwin_lib

(1) 在 C:Keil_v5ARMSeggeremWinSampleConfig,復(fù)制GUIConf.c 、GUIConf.h 、LCDConf.c 、LCDConf.h 4個(gè)文件到emwin_config文件夾內(nèi)。
(2) 在 C:Keil_v5ARMSeggeremWinSampleDisplayDriver,復(fù)制GUIDRV_Template.c 文件到emwin_config文件夾內(nèi)。
(3) 在 C:Keil_v5ARMSeggeremWinSampleGUI_X,復(fù)制GUI_X.c文件到emwin_config文件夾內(nèi)。
(4) 在C:Keil_v5ARMSeggeremWinInclude,復(fù)制所有的.h文件到emwin_inc文件夾內(nèi)。
(5) 在C:Keil_v5ARMSeggeremWinLib,復(fù)制GUI_CM3.lib文件到emwin_lib文件夾內(nèi)。(由于我們的STM32F103是CM3核心,所以選用CM3)。
(6) 在C:Keil_v5ARMSeggeremWinSampleApplicationGUIDemo內(nèi),復(fù)制全部的文件夾到emwin_demo文件夾內(nèi)。

2.2 建立emwin_config 、 emwin_lib 、 emwin_demo 3個(gè)Groups

打開(kāi)Keil項(xiàng)目,在Manage Project Items 內(nèi)建立emwin_config 、 emwin_lib 、 emwin_demo 3個(gè)Groups并加入文件,如下圖。

在Option for Target里面的Include Paths 新增3個(gè)include paths如下圖。
2.3 以上設(shè)定完后,我們編譯時(shí)應(yīng)該會(huì)產(chǎn)生以下錯(cuò)誤:

Error: L6218E: Undefined symbol GUI_X_GetTaskId (referred from gui_task.o).
Error: L6218E: Undefined symbol GUI_X_InitOS (referred from gui_task.o).
Error: L6218E: Undefined symbol GUI_X_Lock (referred from gui_task.o).
Error: L6218E: Undefined symbol GUI_X_Unlock (referred from gui_task.o).

由于本范例不使用OS操作系統(tǒng),所以我們先忽略這個(gè)問(wèn)題,為了讓編譯可以正常,我們?cè)贕UI_X.c內(nèi)加入這幾個(gè)函數(shù),如下圖。
2.4 emWin GUI 時(shí)基源

emWin GUI 需要一個(gè)時(shí)基源并須1ms遞增,即OS_TimeMS變數(shù)在GUI_X.c文件內(nèi)聲明,MCU必須先提供一個(gè)1ms的timer tick,通常在Cortex-M由SysTick的設(shè)定由SysTick_Handler{}中斷函數(shù)去遞增變量來(lái)實(shí)現(xiàn),而本文范例采用MCU TIMER中斷來(lái)提供1ms的tick,在stm32f10x_it.c內(nèi)TIM3_IRQHandler()中斷函數(shù)實(shí)現(xiàn)tick遞增。

2.5 分配內(nèi)存給emWin系統(tǒng)

在GUIConf.c文件內(nèi)設(shè)定,內(nèi)存大小會(huì)影響效能,須根據(jù)MCU的內(nèi)存大小去配置。
2.6. GUIDRV_Template.c 修改

使用GUIDRV_Template.c 作為新增一個(gè)GUI設(shè)備的驅(qū)動(dòng)文件,emWin實(shí)現(xiàn)屏幕的驅(qū)動(dòng)主要在于寫(xiě)一個(gè)點(diǎn)與讀一個(gè)點(diǎn),我們必須修改static void _SetPixelIndex(GUI_DEVICE * pDevice, int x, int y, LCD_PIXELINDEX PixelIndex)與static LCD_PIXELINDEX _GetPixelIndex(GUI_DEVICE * pDevice, int x, int y)兩個(gè)主要函數(shù),如下圖。
引入的putPixel()與getPixel()函數(shù)來(lái)自RA8889_API.h,在這個(gè)范例選用16bit RGB565 或
24bit RGB888 數(shù)據(jù)格式,參考UserDef.h 選用如下設(shè)定:

代碼如下(示例):
支持16bit RGB565 (使用emWin GUICC_M565)
#define Parallel_8080
#define MCU_16bit_ColorDepth_16bpp
代碼如下(示例):
支持 24bit RGB888 (使用emWin GUICC_M888)
#define Parallel_8080
#define MCU_16bit_ColorDepth_24bpp_Mode_2

另外為了優(yōu)化填充效率,在GUIDRV_Template.c文件新增定義Add2D_Optimize,使用RA8889內(nèi)建2D繪圖加速功能并增加到_FillRect()、_DrawHLine()、_DrawVLine()函數(shù)內(nèi),如下圖:

2.7 修改LCDConf.c如下圖:

上述設(shè)定完成后,在main.c 加入以下內(nèi)容,開(kāi)始運(yùn)行GUIDEMO。

三、在RA8889上使用emWin的優(yōu)勢(shì)

為了更好能實(shí)現(xiàn)RA8889的功能,如多緩存的應(yīng)用(內(nèi)置有128Mbit SDRAM),畫(huà)幾何圖形引擎,2D圖形加速引擎(BTE),畫(huà)中畫(huà)(PIP 實(shí)現(xiàn)彈窗利器)、顯示圖片(BMP、JPEG),視頻播放等等功能,我們已在emWin平臺(tái)上加入了以上的功能,提高實(shí)現(xiàn)顯示效率。

3.1 顯示效果優(yōu)化

利用RA8889內(nèi)建DRAM與BTE功能取代emWin Memory Device功能,為了更新顯示不閃屏,具體應(yīng)用可與瑞佑科技聯(lián)系;

3.2 多緩存應(yīng)用

利用RA8889內(nèi)建 128Mbit DRAM ,分配內(nèi)存給emWin在RA8889的顯存上操作,即可實(shí)現(xiàn):緩存1用于液晶屏的顯示(即顯示區(qū))、緩存2 用于emWin的讀寫(xiě)操作內(nèi)存、另外可分配緩存3、緩存4…等等,比如緩存3可用于顯示掛在RA8889上的Flash的圖片,當(dāng)需要顯示時(shí),即可用BTE的復(fù)制粘貼到顯示區(qū)顯示,比如緩存4用作視頻的緩存紐帶,可完美實(shí)現(xiàn)emWin窗口+視頻播放的搭配;以上實(shí)現(xiàn)具體原理,以及代碼例程,可與瑞佑科技聯(lián)系,

總結(jié)

使用瑞佑科技的 RA8889 液晶控制器芯片,搭配低端MCU,在emWin平臺(tái)上,接高分辨率屏(1366*2048),也可接低分辨率屏,即可做出流暢、酷炫的UI操作界面。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 液晶屏
    +關(guān)注

    關(guān)注

    18

    文章

    735

    瀏覽量

    43950
  • 顯示控制
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    11196
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    679

    瀏覽量

    41241
  • emWin
    +關(guān)注

    關(guān)注

    2

    文章

    38

    瀏覽量

    14268
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    第四講:?jiǎn)纹瑱C(jī)STC89C52+RA8889驅(qū)動(dòng)控制彩屏 代碼移植范例(包含API接口)

    51單片機(jī)通過(guò)RA8889控制驅(qū)動(dòng)彩屏,移植API參考程序
    的頭像 發(fā)表于 06-06 13:59 ?2007次閱讀
    第四講:?jiǎn)纹瑱C(jī)STC89C52+<b class='flag-5'>RA8889</b>驅(qū)動(dòng)<b class='flag-5'>控制</b>彩屏 代碼移植范例(包含API接口)

    RA8889/RA8876顯示自定義ASCII字符方法

    本文介紹用戶自己生成的ASCII字庫(kù)如何通過(guò)RA8889/RA8876顯示到液晶屏上。 先上一張實(shí)例效果圖: 再上程序代碼: int main(void) { unsigned short x,y
    發(fā)表于 04-02 16:09

    第五講:51單片機(jī)+RA8889驅(qū)動(dòng)控制彩屏 完整源碼說(shuō)明 【 源碼v1.2 】

    51單片機(jī)驅(qū)動(dòng)控制彩屏系列講座 硬件:STC89C52 + RA8889開(kāi)發(fā)板 + TFT彩屏(范例使用AT070TN92) SPI通信接口定義: P1.0RES RA8889硬件復(fù)位
    發(fā)表于 06-13 17:23

    51單片機(jī)STC8H8K64U通過(guò)RA8889/RA8876如何控制彩屏(SPI源碼下載)

    /RA8876控制芯片剛好可以完美搭配用于工控、醫(yī)療等各個(gè)領(lǐng)域。我們這樣接線就可以了: 二、SPI-4連接電路圖: RA8889和單片機(jī)的接口支持SPI-4線也支持3線,我們測(cè)試時(shí)采用的是SPI-4線,連接
    發(fā)表于 06-26 14:13

    51單片機(jī)(STC8051U34K64)_RA8889_SPI4參考代碼(v1.3)

    文章導(dǎo)引: (1)51單片機(jī)(STC8051U34K64)_RA8889_SPI4參考代碼(v1.3) (2)51單片機(jī)STC8H8K64U通過(guò)RA8889/RA8876如何控制彩屏_
    發(fā)表于 07-05 10:55

    51單片機(jī)(STC8H8K64U/STC8051U34K64)_RA8889_HW_SPI4參考代碼(v1.3) 硬件SPI方式驅(qū)動(dòng)大屏顯示

    號(hào)。目前測(cè)試這兩個(gè)系列,顯示速度均相當(dāng)不錯(cuò),軟件設(shè)計(jì)也是極為簡(jiǎn)單。各篇文章下方均提供源碼供參考下載。 RA8889是一款瑞佑科技推出的高性能液晶控制芯片,單片機(jī)下指令即可,可以驅(qū)動(dòng)最高1366x768等
    發(fā)表于 07-17 11:15

    單片機(jī)驅(qū)動(dòng)彩屏最簡(jiǎn)方案:?jiǎn)纹瑱C(jī)_RA8889最小開(kāi)發(fā)板驅(qū)動(dòng)控制TFT彩屏介紹(一)

    玩家直接驅(qū)動(dòng)串口屏,反應(yīng)最大的問(wèn)題是刷新慢,若用RA8889這顆芯片來(lái)驅(qū)動(dòng)控制彩屏,這個(gè)問(wèn)題是不存在的。 五、能做到什么效果 顯示UI,簡(jiǎn)單的界面
    發(fā)表于 08-22 17:31

    STM32F103+RA8889 電路圖

    ` 本帖最后由 harchy 于 2020-12-25 09:34 編輯 使用單片機(jī):STM32F103VET6液晶控制器:RA8889本DEMO主要作為圖形界面顯示的調(diào)試之用,可
    發(fā)表于 09-23 12:02

    RA8889 TFT LCD文字圖形控制器芯片的數(shù)據(jù)手冊(cè)免費(fèi)下載

    RA8889 支持 CMOS 準(zhǔn)位的接口 ,規(guī)格書(shū)內(nèi)包含: 系統(tǒng)方塊圖、引腳圖、AC/DC 電氣特性、各個(gè)功能子方塊、寄存器、省電模式的詳細(xì)描述。
    發(fā)表于 11-27 08:00 ?17次下載
    <b class='flag-5'>RA8889</b> TFT LCD文字圖形<b class='flag-5'>控制</b>器芯片的數(shù)據(jù)手冊(cè)免費(fèi)下載

    TFT-LCD控制RA8889ML3N的顯示控制功能如何移植到emWin中-教程

    液晶顯示控制RA8889ML3N的顯示案例在emWin中移植
    的頭像 發(fā)表于 06-20 15:34 ?1919次閱讀
    TFT-LCD<b class='flag-5'>控制</b>器<b class='flag-5'>RA8889</b>ML3N的<b class='flag-5'>顯示</b><b class='flag-5'>控制</b>功能如何移植到<b class='flag-5'>emWin</b>中-教程

    第二講:?jiǎn)纹瑱C(jī)STC89C52+RA8889驅(qū)動(dòng)控制彩屏 代碼移植介紹

    介紹51單片機(jī)如何移植RA8889的代碼進(jìn)行彩屏驅(qū)動(dòng)與控制
    的頭像 發(fā)表于 06-04 10:36 ?1556次閱讀
    第二講:?jiǎn)纹瑱C(jī)STC89C52+<b class='flag-5'>RA8889</b>驅(qū)動(dòng)<b class='flag-5'>控制</b>彩屏 代碼移植介紹

    第一篇 RA8889 實(shí)現(xiàn)酷炫車載液晶儀表系列文章:簡(jiǎn)介及平臺(tái)介紹

    由液晶驅(qū)動(dòng)控制芯片RA8889實(shí)現(xiàn)車載液晶儀表的方案,本系列文章會(huì)從最基本的UI界面制作,硬件平臺(tái)的介紹,以及軟件代碼實(shí)現(xiàn)來(lái)詳細(xì)介紹。
    的頭像 發(fā)表于 02-25 14:56 ?460次閱讀
    第一篇 <b class='flag-5'>RA8889</b> 實(shí)現(xiàn)酷炫車載液晶儀表系列文章:簡(jiǎn)介及<b class='flag-5'>平臺(tái)</b>介紹

    第二篇 RA8889 實(shí)現(xiàn)酷炫車載液晶儀表系列視頻: UI界面介紹

    本系列文章介紹 RA8889 實(shí)現(xiàn)液晶儀表HMI UI界面,分為兩大部分來(lái)介紹,本期介紹如何制作UI界面,其中包括使用PS軟件制作靜態(tài)類
    的頭像 發(fā)表于 02-25 15:27 ?467次閱讀
    第二篇 <b class='flag-5'>RA8889</b> 實(shí)現(xiàn)酷炫車載液晶儀表系列視頻: <b class='flag-5'>UI</b>類<b class='flag-5'>界面</b>介紹

    第三篇 RA8889 實(shí)現(xiàn)酷炫車載液晶儀表系列文章:RA8889初始化

    由液晶驅(qū)動(dòng)控制芯片RA8889實(shí)現(xiàn)車載液晶儀表的方案,本系列文章會(huì)從最基本的UI界面制作,硬件平臺(tái)的介紹,以及軟件代碼實(shí)現(xiàn)來(lái)詳細(xì)介紹。
    的頭像 發(fā)表于 02-25 15:34 ?584次閱讀
    第三篇 <b class='flag-5'>RA8889</b> 實(shí)現(xiàn)酷炫車載液晶儀表系列文章:<b class='flag-5'>RA8889</b>初始化

    STC8H 單片機(jī) + RA8889/RA6809:重新定義嵌入式觸控交互_高流暢、低延遲、零基礎(chǔ)的人機(jī)界面(一)

    STC8H 單片機(jī) + RA8889/RA6809:重新定義嵌入式觸控交互_高流暢、低延遲、零基礎(chǔ)的人機(jī)界面
    的頭像 發(fā)表于 05-28 16:01 ?319次閱讀
    STC8H 單片機(jī) + <b class='flag-5'>RA8889</b>/<b class='flag-5'>RA</b>6809:重新定義嵌入式觸控交互_高流暢、低延遲、零基礎(chǔ)的人機(jī)<b class='flag-5'>界面</b>(一)