硬汉嵌入式论坛

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

[emWin] emwin+freertos优先级问题

[复制链接]

10

主题

34

回帖

64

积分

初级会员

积分
64
发表于 2019-8-20 11:45:48 | 显示全部楼层 |阅读模式

emwin教程中给的建议是把emwin任务设置为最低优先级,那么如果emwin在创建界面的过程中会不会被高优先级的任务打断呢?那样的话会导致界面刷新出现卡滞现象吧
emwin是通过发送消息来完成窗口管理器的回调机制,那这个消息机制的优先级比freertos的任务优先级要高吗?如果高的话就不会出现上述的问题了吧


2019-08-20_113747.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-8-20 11:56:51 | 显示全部楼层
GUI这种任务无需实时性,除非你的其他任务长期霸占才会有问题。

像二代示波器这种需要较强的刷新速度的,也是放在最低优先级的,完全没问题的。
回复

使用道具 举报

10

主题

34

回帖

64

积分

初级会员

积分
64
 楼主| 发表于 2019-8-20 13:19:12 | 显示全部楼层
eric2013 发表于 2019-8-20 11:56
GUI这种任务无需实时性,除非你的其他任务长期霸占才会有问题。

像二代示波器这种需要较强的刷新速度的 ...

我们之前的一个项目也是放的最低优先级,运行的也正常。现在一个新项目可能涉及这个问题
所以想确认下,没出现问题是因为一直没遇到高优先级打断的情况呢,还是因为消息机制比freertos任务优先级高的原因呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2019-8-20 13:56:58 | 显示全部楼层
fendoushuai 发表于 2019-8-20 13:19
我们之前的一个项目也是放的最低优先级,运行的也正常。现在一个新项目可能涉及这个问题
所以想确认下, ...

打断很正常,一直在被高优先级任务打断着。

但是这些任务的执行时间都比较短,所以基本不会影响GUI的使用。
回复

使用道具 举报

58

主题

267

回帖

446

积分

高级会员

积分
446
发表于 2019-8-20 13:57:10 | 显示全部楼层
fendoushuai 发表于 2019-8-20 13:19
我们之前的一个项目也是放的最低优先级,运行的也正常。现在一个新项目可能涉及这个问题
所以想确认下, ...

不必纠结这个问题,在RTOS资源分配合理的情况下,优先级原因造成现实卡顿的可能性,远不如你的显示驱动优化问题,和CPU显示接口驱动能力问题造成卡顿的可能性高。
回复

使用道具 举报

42

主题

1022

回帖

1153

积分

至尊会员

积分
1153
发表于 2019-8-20 14:03:57 | 显示全部楼层
开启多缓存,不会出现刷到一半然后停下还会你看到的情况。界面显示是完整的
回复

使用道具 举报

12

主题

104

回帖

140

积分

初级会员

积分
140
发表于 2019-8-20 14:31:29 | 显示全部楼层
记得看过源码,,它所谓的消息其实就是设置消息为XX,然后调用回调函数去处理的,也就是说基本你发完消息就调回调。。处理不过来,说明你占用很久啦。。
回复

使用道具 举报

23

主题

1443

回帖

1512

积分

至尊会员

积分
1512
发表于 2019-8-20 15:00:26 | 显示全部楼层
多虑了,大部分时间都是DMA2D在刷新。
代码不规范,亲人两行泪!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 07:19 , Processed in 0.280562 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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