emWinGraphics application question

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ZoZu_4799626
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

我们使用CY8C4248LOI-BL583去驱动一块240x240的TFT显示屏,想要应用emWinGraphics的库。可是之前没有用过这个库,于是下载了相关软件,并找到了“emWinGraphics_v5_46_1.pdf”和“UM03001_emWin5.pdf”这两份文件,但是看过之后还是感觉无从下手,有一些问题:

1. 将“emWinGraphics_v5_46.zip”解压后,PSoC4文件夹下有BitPlains、CompactColor_16、Control、FlexColor四个文件夹,请问这几个有什么差别,分别运用在什么时候呢?

2. 我用的是”Graphic LCD 16-bit Parallel Interface Marco“元件,那如果我使用FlexColor的话,具体我该怎么修改这些文件里面的代码呢?

谢谢!

0 Likes
1 Solution
ShipingW_81
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 replies posted

1. 在文档UM03001_emWin5.pdf中有介绍这几种GUI driver的具体应用场景,你需要具体参考下文档。一般来说,SPI, MCU, I2C, MIPI这些接口的,就统一选flexcolor,RGB接口选BitPlains.

2. PSoC 4中使用flexcolor,具体步骤请参考文档https://www.cypress.com/file/440296/download

View solution in original post

0 Likes
9 Replies
ShipingW_81
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 replies posted

1. 在文档UM03001_emWin5.pdf中有介绍这几种GUI driver的具体应用场景,你需要具体参考下文档。一般来说,SPI, MCU, I2C, MIPI这些接口的,就统一选flexcolor,RGB接口选BitPlains.

2. PSoC 4中使用flexcolor,具体步骤请参考文档https://www.cypress.com/file/440296/download

0 Likes

Hi , 你好

经过这几天阅读相关文档,基本可以显示了,但是还有几个问题:

1. 想用GUI_SetColor函数显示满屏颜色,但是发现调用后并不能把整个屏幕都显示成一种颜色。

2. 我们选择GUICC_M565颜色模式,然后在调用GUI_SetColor和GUI_SetBkColor这两个函数的时候,RGB565的数据格式如何与这两个函数形参定义的U32匹配起来呢?我的意思是,正常一个pixel是16-bit:5-6-5,红色是0xf800,可是这两个函数实参要赋予什么数据?

0 Likes

1. GUI_SetColor是设置前端颜色,所以一般要和GUI_FillRect配合使用,例如:

GUI_SetColor(GUI_RED);
GUI_FillRect(180, 60, 199, 79);

就是将Rect区域内的颜色设置为红色。

2. GUI_SetColor和GUI_SetBkColor的参数,都是用24bit定义的,你可以用GUI_RED, GUI_BLUE等emWin提供的宏定义(GUI.h中)。也可以自己写特殊的颜色值,用24bit格式。选择M565颜色格式,emWin会自动将24bit的值转成M565的使用。

你好,请问如何理解这个前端颜色和后端颜色,对应GUI_SetColor和GUI_SetBkColor?有什么区别呢?

谢谢!

0 Likes

这里的后端和前端分别指背景颜色和前面所显示图形的颜色。

0 Likes

嗯嗯,谢谢!

另外想请问一下,关于LCD_X_DisplayDriver()函数中第一个参数LayerIndex,不是特别理解。请问我是不是可以理解为如果我设计显示屏的颜色背景有多层,那就要选择对应的color layer?

0 Likes

这个 layer 不是指背景,可以简单的理解成一个图层,每个图层都可以有自己的背景和显示内容,最后在显示屏上显示的,是很多个图层的叠加,简单的显示效果,一般一个图层就够了,LayerIndex 这个参数指的是图层的序号。

0 Likes

好的,那请问如果我需要设置多个图层的话,那是不是要用LCD_X_DisplayDriver()函数为每个图层都做初始化?另外单个设置某个图层的背景色和字体应该调用哪个函数呢?GUI_SetColor()、GUI_SetTextMode()、GUI_SetFont()、GUI_DispStringAt()这些函数似乎并没有指定为哪个图层的?

谢谢!

0 Likes

https://www.segger.com/products/user-interface/emwin/

上面是emWin 的 官网链接,里面有提供 user manual,你的问题里面都有讲解。