硬汉嵌入式论坛

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

[emWin] emwin 外部IO 觸發事件

[复制链接]

3

主题

6

回帖

15

积分

新手上路

积分
15
发表于 2019-12-9 12:17:45 | 显示全部楼层 |阅读模式
請問EMWIN有辦法增加觸發事件
讓IO處發或中斷觸發嗎?
有點像GUI_SendKeyMsg的方式,但不想跟按鍵觸發相衝突
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107439
QQ
发表于 2019-12-10 08:19:30 | 显示全部楼层
自定义窗口消息是否满足。
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2019-12-11 08:10:50 | 显示全部楼层
#define EvenShortCircuit                                (WM_USER+8)
#define EvenReflash                                (WM_USER+9)

自定义窗口消息,把逻辑理清楚就OK了。
Releasing your creativity
回复

使用道具 举报

3

主题

6

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2019-12-11 11:22:14 | 显示全部楼层
目前正在學習自定義的窗口,順帶一問自定義的出發可以放在中斷程序裡面嗎?
回复

使用道具 举报

12

主题

104

回帖

140

积分

初级会员

积分
140
发表于 2019-12-11 13:55:36 | 显示全部楼层
iandergan 发表于 2019-12-11 11:22
目前正在學習自定義的窗口,順帶一問自定義的出發可以放在中斷程序裡面嗎?

如果自定义窗口消息的回调函数处理部分不多的话应该是可以放中断。。我记得好像自定义窗口消息发送就立即执行窗口消息的回调函数
回复

使用道具 举报

3

主题

6

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2019-12-12 11:31:53 | 显示全部楼层
cz123123 发表于 2019-12-11 13:55
如果自定义窗口消息的回调函数处理部分不多的话应该是可以放中断。。我记得好像自定义窗口消息发送就立即 ...

WM_SendMessageNoPara(WM_GetClientWindow(CreateFramewin()),WM_PF_IRQ);
自定义窗口消息沒辦法放中斷觸發不是FromISR結尾

目前測試第一次可以正常執行但第二次之後就程序都不對了,第三次直接觸控不了
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2019-12-13 08:54:45 | 显示全部楼层
iandergan 发表于 2019-12-12 11:31
WM_SendMessageNoPara(WM_GetClientWindow(CreateFramewin()),WM_PF_IRQ);
自定义窗口消息沒辦法放中斷 ...

信息触发放在中断 风险很大。个人见解仅供参考:
1、首先emWin 有自己的消息机制,私底下会按部就班的完成一套动作。理论上是实时,实际上就是私底下按部就班工作,刷新界面在后面wm_paint,内存在此时占用率超高。

2、如果emWin正在刷新A区域, 突然来一个中断消息,送A区域重叠的新数据,这样会大概率死机。因为完成送数据,不代表emWin已经按部就班完成刷新数据。意思是:emWin正在忙着刷数据,最好别送数据,特别是存在窗口重叠区域

Releasing your creativity
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-31 19:37 , Processed in 0.279461 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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