硬汉嵌入式论坛

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

[emWin] 用H750-DK板刷个小键盘都会闪呢

[复制链接]

262

主题

578

回帖

1364

积分

至尊会员

积分
1364
发表于 2022-4-24 16:02:59 | 显示全部楼层 |阅读模式
e6c05a3e4e334a6ee68428d208e2415a.mp4 (366.7 KB, 下载次数: 10)

搞了个小键盘输入参数用,发现随便点几下都会有抖的现象呢。要是不开cache的话,抖的更频繁。
要怎么优化下才好呢
image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107986
QQ
发表于 2022-4-24 16:21:41 | 显示全部楼层
这个是emWin吗,开个简单的对话框上面添加几个按钮看看是不是也这样的抖,如果是的话,说明你的三缓冲或者窗口存储设备没有正常开启。

另外就是你的程序是在QSPI Flash刷的话,记得开QSPI Flash到最高Cache性能。
回复

使用道具 举报

262

主题

578

回帖

1364

积分

至尊会员

积分
1364
 楼主| 发表于 2022-4-24 16:57:09 | 显示全部楼层
本帖最后由 jplzl10000 于 2022-4-24 16:58 编辑
eric2013 发表于 2022-4-24 16:21
这个是emWin吗,开个简单的对话框上面添加几个按钮看看是不是也这样的抖,如果是的话,说明你的三缓冲或者 ...

这个是在H750-DK板上跑emwin,用的 STemWin_CM7_wc16 这个库,好像是 5.44的。
加上 WM_SetCreateFlags(WM_CF_MEMDEV);
或是
WM_MULTIBUF_Enable(1)
#define NUM_BUFFERS  3
这个就不闪了,应该是开了缓冲了。
另外,程序是在QSPI中运行的,运行起始地址为 0x90000000。
这个QSPI-FLASH的最高cache性能是啥意思?
程序中就只有下面这个操作,关闭了这个cache后也不会闪。
static void CPU_CACHE_Enable(void)
{
  /* Enable I-Cache */
  SCB_EnableICache();

  /* Enable D-Cache */
  SCB_EnableDCache();
}

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107986
QQ
发表于 2022-4-24 16:58:23 | 显示全部楼层
jplzl10000 发表于 2022-4-24 16:57
这个是在H750-DK板上跑emwin,用的 STemWin_CM7_wc16 这个库,好像是 5.44的。
加上 WM_SetCreateFlags(W ...

配置地址0x90000000的MPU属性。
回复

使用道具 举报

1

主题

13

回帖

16

积分

新手上路

积分
16
发表于 2022-7-9 15:19:16 | 显示全部楼层
eric2013 发表于 2022-4-24 16:58
配置地址0x90000000的MPU属性。

QSPI Flash的MPU要配置成什么模式 速度才能最快呢?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-21 09:21 , Processed in 0.290659 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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