OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6431|回复: 2

关于WM_SendMessageNoPara这个函数的问题,解决悬赏15金!!!

[复制链接]

7

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2016-10-28
在线时间
13 小时
发表于 2018-3-22 17:34:33 | 显示全部楼层 |阅读模式
15金钱
本帖最后由 绵延的山峰 于 2018-3-23 14:13 编辑

WM_SendMessageNoPara()函数的使用:
      我想在低优先级的下级任务调用此函数发送信息给上级界面,告知上级界面各个传感器的状态并以此绘画界面,


其中设global_hWin是全局变量,调用创建窗口函数:global_hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);

返回给global_hWin变量,故global_hWin就是上级界面窗口的句柄;     Metal_sensor_ID为自定义的WM_USER消息;


运行的时候问题来了!

当程序走到WM_SendMessageNoPara(global_hWin, Metal_sensor_ID);的时候,调用一次之后程序却调入        while (1) {
               
                GUI_Delay(100);
        }
这个死循环中,一直都没有切换回下级任务,注释掉WM_SendMessageNoPara此句后可以正常显示与切换。

我把上级界面菜单优先级设置为5,下级任务设置为6,只要一调用到
WM_SendMessageNoPara这个函数,就一直在跑界面,不能切换到下级任务了。

请教到底是什么原因?

初学emWin,您的一两句提醒就可能让后来者少走很多弯路,谢谢。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-3-23 01:40:16 | 显示全部楼层
回复

使用道具 举报

8

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
166
金钱
166
注册时间
2018-8-4
在线时间
38 小时
发表于 2018-9-11 18:10:30 | 显示全部楼层
老铁,你这个问题解决了吗?我最近也遇到这个问题了,请教一下
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 04:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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