硬汉嵌入式论坛

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

[有问必答] emwin发信号WM_SendMessageNoPara()在主窗口接收不到

[复制链接]

7

主题

18

回帖

39

积分

新手上路

积分
39
发表于 2018-6-29 18:04:06 | 显示全部楼层 |阅读模式
在做一个实验,参考了emwin提高篇的智能家居实验,但是WM_SendMessageNoPara(hWinMain, MSG_SetENTER);在发MSG_SetENTER信号的时候,主窗口没响应,按键程序没问题,单步调试可以进入到发信号的语句。不知哪里还没弄好,有哪位高手指点指点吗?图片如下:
1.png
2.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2018-6-29 18:29:40 | 显示全部楼层
先在MSG_SetENTER消息里面加一个串口打印,不使用调试状态,看看能否进入。

如果不能的话,看下你的对话框主题窗口是不是FrameWin创建的,如果是FrameWin的话,就不能直接调用WM_SendMessageNoPara(hWinMain, MSG_SetENTER);了

要是WM_SendMessageNoPara(WM_GetClientWindow(hWinMain), MSG_SetENTER);
回复

使用道具 举报

7

主题

18

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2018-6-30 09:46:08 | 显示全部楼层
eric2013 发表于 2018-6-29 18:29
先在MSG_SetENTER消息里面加一个串口打印,不使用调试状态,看看能否进入。

如果不能的话,看下你的对话 ...

老师正解,可以了,但是您说的在MSG_SetENTER消息里加一个串口打印是怎么加的?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2018-6-30 10:08:19 | 显示全部楼层
luoqice 发表于 2018-6-30 09:46
老师正解,可以了,但是您说的在MSG_SetENTER消息里加一个串口打印是怎么加的?

就是调用printf函数。
回复

使用道具 举报

7

主题

18

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2018-6-30 14:38:23 | 显示全部楼层
eric2013 发表于 2018-6-30 10:08
就是调用printf函数。

好的,老师,还有一个问题,就是按OK键到了切换界面的时候,执行到GUI_CreateDialogBox()无法创建新的窗口,原来的窗口也没消失,但操控按键无法移动聚焦icon。是什么问题呢?
3.png
回复

使用道具 举报

7

主题

18

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2018-7-1 10:26:57 | 显示全部楼层
luoqice 发表于 2018-6-30 14:38
好的,老师,还有一个问题,就是按OK键到了切换界面的时候,执行到GUI_CreateDialogBox()无法创建新的 ...

但是在MainTask()中调用GUI_CreateDialogBox()时可以创建新窗口的,困惑啊
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2018-7-1 11:02:44 | 显示全部楼层
luoqice 发表于 2018-6-30 14:38
好的,老师,还有一个问题,就是按OK键到了切换界面的时候,执行到GUI_CreateDialogBox()无法创建新的 ...

查看是否进入到你的ICONVIEW的case 0里面了。
回复

使用道具 举报

7

主题

18

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2018-7-1 14:41:05 | 显示全部楼层
eric2013 发表于 2018-7-1 11:02
查看是否进入到你的ICONVIEW的case 0里面了。

进入了,单步调式时可以进入,就是创建不了窗口。
回复

使用道具 举报

7

主题

18

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2018-7-1 15:43:42 | 显示全部楼层
eric2013 发表于 2018-7-1 11:02
查看是否进入到你的ICONVIEW的case 0里面了。

不过发现执行到后面,程序进入了中断异常HardFault_Handler(void)。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2018-7-2 00:49:19 | 显示全部楼层
luoqice 发表于 2018-7-1 14:41
进入了,单步调式时可以进入,就是创建不了窗口。

别用调试状态,然后串口打印,看看是否有问题。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2018-9-20 11:08:29 | 显示全部楼层
同样的问题,按下确认按钮,到MSG_SetENTER消息后,之后进入了硬件中断。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2018-9-20 11:29:53 | 显示全部楼层
eric2013 发表于 2018-7-2 00:49
别用调试状态,然后串口打印,看看是否有问题。

老师,我遇到和楼主同样的问题,按下确认按钮,进入了硬件中断。我按照您说的,注释掉原先的确认消息。加入了串口打印如下图,但是没啥现象,请老师再指点我下。。万分感谢
TIM截图20180920112650.png
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2018-9-20 11:32:20 | 显示全部楼层
eric2013 发表于 2018-7-2 00:49
别用调试状态,然后串口打印,看看是否有问题。

按键的程序
armfly、.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2018-9-20 12:11:47 | 显示全部楼层

单看发的截图程序,没问题。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2018-9-20 15:17:28 | 显示全部楼层
eric2013 发表于 2018-9-20 12:11
单看发的截图程序,没问题。

老师,很奇怪,进入同一个子窗口,用触摸能进去,没问题;用按键的方式就进入不了,会进入硬件中断
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2018-9-20 15:18:54 | 显示全部楼层
Whw 发表于 2018-9-20 15:17
老师,很奇怪,进入同一个子窗口,用触摸能进去,没问题;用按键的方式就进入不了,会进入硬件中断

测试在emWin任务的大while循环里面处理按键消息,看看是否有问题。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2018-9-20 15:31:38 | 显示全部楼层
eric2013 发表于 2018-9-20 15:18
测试在emWin任务的大while循环里面处理按键消息,看看是否有问题。

老师,按照您方法成功了。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2018-9-20 15:32:22 | 显示全部楼层
eric2013 发表于 2018-9-20 15:18
测试在emWin任务的大while循环里面处理按键消息,看看是否有问题。

成功了。老师,谢谢!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2018-9-21 00:21:57 | 显示全部楼层
Whw 发表于 2018-9-20 15:32
成功了。老师,谢谢!

回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2018-9-21 10:42:47 | 显示全部楼层
GUI的句柄很重要,特别是某些节点的使用姿势
Releasing your creativity
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-14 09:53 , Processed in 0.232963 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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