硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2701|回复: 5
收起左侧

enwim打点刷新速度的几个疑问

[复制链接]

7

主题

25

回帖

46

积分

新手上路

积分
46
发表于 2018-11-6 16:19:00 | 显示全部楼层 |阅读模式
大家好。最近在做一个LCD显示屏的任务,因为是第一次做,没经验也没有足够的时间依次尝试不同的方法。所以姑且做一次伸手党吧。
希望大家能指点一下。

硬件及平台介绍:
我使用的是STM32F429,16位的SDRAM。HAL库,FreeRTOS。LCD屏为480*320,RGB驱动,ILI9488。emwin版本为5.32.

1、关于横竖屏的问题
因为LCD默认的是竖屏,但是我想要用横屏。
目前我能想到有两种方法,一个是直接在LCD初始化序列里配置为横屏,然后再使用。另一个方法是在emwin里使用GUI_SetOrientation()来设置横竖屏。
我的问题是,这两种方法在速度上有区别吗?第一种方法会不会快一点?


2、关于emwin的ARGB8888
我看论坛上有关于5.4x版本的emwin支持了ARGB8888格式的颜色。
不知如果使用了这种格式的颜色对提升速度有帮助吗?

3、屏幕整个刷新的问题
我在enwim里的代码如下:
  1. void MainTask(void)
  2. {
  3.         /* 初始化 */
  4.         GUI_Init();

  5.         WM_MULTIBUF_Enable(1);

  6.         GUI_SetOrientation(GUI_SWAP_XY | GUI_MIRROR_Y);

  7.         /* 创建对话框 */
  8.         //CreateFramewin();
  9.                
  10.         while(1)
  11.         {
  12.                 GUI_SetBkColor(GUI_BLUE);
  13.                 GUI_Clear();
  14.                 GUI_Delay(1000);
  15.                 GUI_SetBkColor(GUI_RED);
  16.                 GUI_Clear();
  17.                 GUI_Delay(1000);
  18.                 GUI_SetBkColor(GUI_GREEN);
  19.                 GUI_Clear();
  20.                 GUI_Delay(1000);
  21.         }
  22. }
复制代码


实际效果如附件的视频。
我感觉在颜色切换的时候,屏幕不是整体切换的,有一点“闪烁”的感觉。就好像点亮数码管的时候,刷新速度慢了,人眼能捕捉到“闪烁”的感觉。
不知这种现象是不是正常的?
如果可以优化的话,该从哪些点来着手?

----------------------------------------------------------
希望有明白的前辈指点一下啊。谢谢了。

WeChat_20181106160054.mp4

662.34 KB, 下载次数: 26

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115691
QQ
发表于 2018-11-7 02:02:34 | 显示全部楼层
1、确认ILI9488在配置为RGB模式后,是否支持横屏或者竖屏切换,正常的RGB裸屏基本仅支持一种。显存里面设置的是什么样的,显示就是什么样的。

2。9488是否支持RGB888硬件接口,确认下,如果支持这个硬件接口,使用这个颜色格式可以提升:
http://www.armbbs.cn/forum.ph ... 4512&extra=page%3D1

3、效果太差,移植我的标准库方案吧,看教程裸机移植章节,先整一个搞搞。
http://www.armbbs.cn/forum.ph ... 9834&extra=page%3D1
回复

使用道具 举报

7

主题

25

回帖

46

积分

新手上路

积分
46
 楼主| 发表于 2018-11-7 09:10:48 | 显示全部楼层
eric2013 发表于 2018-11-7 02:02
1、确认ILI9488在配置为RGB模式后,是否支持横屏或者竖屏切换,正常的RGB裸屏基本仅支持一种。显存里面设置 ...

感谢大佬指点。
这两天我再想办法优化优化。

然后我现在移植的就是V6标准库带RTOS版本的。针对hal库改了一点。不过里面唯一的hal库原装函数就一个LTDC行中断回调函数里的“HAL_LTDC_ProgramLineEvent(hltdc, 0);”。等下也想办法用寄存器写。

还有,打算移植下enwim刷色块的demo。那个数据应该是有说服力的吧?后者说是应该是一个靠谱的评判依据吧?

最后再吐槽下,V6的开发板双十一没有活动。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115691
QQ
发表于 2018-11-7 10:52:41 | 显示全部楼层
tanjing2017 发表于 2018-11-7 09:10
感谢大佬指点。
这两天我再想办法优化优化。

这里有测试:
http://www.armbbs.cn/forum.php?m ... ight=32%CE%BB%C9%AB

回复

使用道具 举报

7

主题

25

回帖

46

积分

新手上路

积分
46
 楼主| 发表于 2018-11-7 21:17:00 | 显示全部楼层
eric2013 发表于 2018-11-7 10:52
这里有测试:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=16963&highlight=32%CE%BB%C9%AB
...

硬汉哥,你好。
下午我测试了下打点速度。
a、LCD做初始化后默认的竖屏使用,颜色格式RGB565,速度是70 859 000;
b、如果将a的代码,在emwin里用函数“ GUI_SetOrientation(GUI_SWAP_XY | GUI_MIRROR_Y);”转换成横屏使用的话,打点速度骤降到17 100 000;
c、将a的颜色设置为8位色,打点速度为136 095 000;
d、将b的颜色设置为8位色,打点速度为56 970 000;

现在我的观点是:
1、以a为例,七千万的速度,比硬汉哥给的帖子里的一亿二差很多。不过我用的是16位的SDRAM。这个速度应该是合理的吧?
2、a、b对比下,我目前的瓶颈在如何有效的将LCD设置成横屏。说来惭愧,下午我看硬汉哥的V6-500的移植例程,我都没看出LCD的初始化序列在哪运行的,也没看到如何设置成横屏的。

希望硬汉哥对我上面的观点再给点意见。谢谢。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115691
QQ
发表于 2018-11-8 02:28:28 | 显示全部楼层
tanjing2017 发表于 2018-11-7 21:17
硬汉哥,你好。
下午我测试了下打点速度。
a、LCD做初始化后默认的竖屏使用,颜色格式RGB565,速度是70 ...

1、合理。
2、看此贴教程的移植章节即可:
http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-12 05:21 , Processed in 0.223597 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表