说明:
1. 首先感谢ST终于推出了ARGB格式的emWin库,可谓千呼万唤始出来,使用STM32的硬件RGB888接口刷新图片慢的问题终于得到解决。
2. 这个问题由来已久,是之前为我们的STM32-V6板子制作emWin模板时发现的。V6板子的硬件配置是STM32F429BIT6 + 32位带宽的SDRAM + 硬件RGB888接口。实际测试中发现,将F429配置为16位色的RGB565,刷新800*480分辨率的图片可以做到15ms左右一帧,而测试24位色的RGB888或者32位色的ARGB8888,竟然需要200多ms。后来经过多次测试,才找到根本原因,因为大部分时间都损耗在ARGB和ABGR格式转换上了。使用ARGB格式库后,刷800*480大小的图片可以做到20ms一帧。
3. 近期,ST新发布的STemWin 5.40版本中加入了ARGB格式的库,这个问题得到了解决,本次专题就是为大家讲解如何使用这个库,替换时有很多需要注意的地方。
4. 新版的STemWin5.40头文件使用IAR7.5编译会有多处警告,不用管。另外配套的两个例子是由之前的emWin提高篇例子修改而来,测试注意事项看此贴:链接 http://forum.armfly.com/forum.php?mod=viewthread&tid=23687
================================
专题教程下载:
【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24-LMLPHP 专题教程第1期:基于STM32的硬件RGB888接口实现emWin的快速刷新方案.pdf (1.52 MB) 
配套的两个例子下载(含MDK和IAR)
【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24-LMLPHP V6-910_STemWin提高篇实验_智能家居主界面设计(uCOS-III).7z (6.55 MB) 
【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24-LMLPHP V6-911_STemWin提高篇实验_智能家居主界面设计(FreeRTOS).7z (6.66 MB) 
教程目录:
【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24-LMLPHP
使用32位色ARGB8888或者24位色RGB888的好处就是显示效果细腻,看下面效果图:

【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24-LMLPHP

【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24-LMLPHP

【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24-LMLPHP

而使用16位色RGB565就要差不少,特别是梯度色变化和颜色丰富的图片:

【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24-LMLPHP

【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24-LMLPHP

【安富莱专题教程第1期】基于STM32的硬件RGB888接口实现emWin的快速刷新方案,32位色或24-LMLPHP

04-30 05:40