硬汉嵌入式论坛

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

[emWin] GUI_ClearKeyBuffer不能清除GUI_StoreKeyMsg存入的按键缓存吗?

[复制链接]

30

主题

63

回帖

153

积分

初级会员

积分
153
发表于 2020-12-28 16:18:20 | 显示全部楼层 |阅读模式
本帖最后由 熊大 于 2020-12-28 17:18 编辑

背景如下:一个任务专门检测实体按键是否按下,通过GUI_StoreKeyMsg存入按键。另一个任务专门管理GUI,通过GUI_GetKey()获取按键,因为有时会弹出对话框,对话框里有OK和CANCEL 两个切换选项。问题就在弹出对话框的时候,我选择了OK,对话框取消,但是任务开头,GUI_GetKey()还是能获取到我所按的按键。就算我在对话框结束之后调用GUI_ClearKeyBuffer(),还是会读取到按键,就比较奇怪。
甚至后来我把GUI任务的开头修改成了这样,也能读取到按键
微信截图_20201228162525.png
回复

使用道具 举报

30

主题

63

回帖

153

积分

初级会员

积分
153
 楼主| 发表于 2020-12-28 18:26:18 | 显示全部楼层
感觉前面说的有点乱。。问题其实是读取到按键后,通过GUI_StoreKeyMsg发消息给GUI,然后GUI的任务代码我先GUI_ClearKeyBuffer(),再去读取按键信息,却可以读取到之前发的那个按键信息,按照正常逻辑,清除了buffer,不是应该读不到之前发的那个按键信息了吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2020-12-29 09:44:59 | 显示全部楼层
Get Key函数我没有使用过。
回复

使用道具 举报

0

主题

274

回帖

274

积分

高级会员

积分
274
发表于 2020-12-29 11:47:46 | 显示全部楼层
按键消息让emwin自己管理就好了。

gui任务直接调用guiexec就行了。不用管具体的按键
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-20 06:22 , Processed in 0.401398 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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