OpenEdv-开源电子网

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

界面切换

[复制链接]

42

主题

208

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
383
金钱
383
注册时间
2014-6-12
在线时间
35 小时
发表于 2016-3-10 12:13:13 | 显示全部楼层 |阅读模式
20金钱
一、之前是主函数  Emwin_MainTask(); (界面一)  然后界面一有个BUTTON按键,点下,我在对应的按键回调函数里面写了case WM_NOTIFICATION_CLICKED: Information_MainTask();(界面二),然后再点击界面二上的一个按键,回到第一个界面  case WM_NOTIFICATION_CLICKED: Emwin_MainTask();这样切换一个来回后再点就卡死了,然后我把栈的大小改了下,切换次数达到3次最后还是卡了,不知道什么原因二、然后在原子EMWIN讲解的PDF看到这样一句话,“切勿从回调函数中调用阻塞式函数,否则可能会导致应用程序故障”,虽然我对阻塞式函数不太理解,想着可能是这个原因,然后我程序又做了点修改,修改如下:
1:主函数    while(1)  
             {   
                  
                  if(Task_Flag==0) Emwin_MainTask();
                  if(Task_Flag==1) Information_MainTask();
        }
PS: Task_Flag是我切面切换的标志位
2:第一个界面  BUTTON按下处理
          case WM_NOTIFICATION_CLICKED: Task_Flag=1;
3:第二个界面  BUTTON按下处理
        case WM_NOTIFICATION_CLICKED: Task_Flag=0;
这样修改后,发现第一个界面BUTTON按下没有反应,不能进行界面切换了,不知道是什么情况,上述两种情况,麻烦会者给解答下,谢谢!

1.png

最佳答案

查看完整内容[请看2#楼]

楼主觉得可以的话 可参照一下我之前的程序 也涉及到两个界面切换问题
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

18

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-8-22
在线时间
82 小时
发表于 2016-3-10 12:13:14 | 显示全部楼层
楼主觉得可以的话  可参照一下我之前的程序   也涉及到两个界面切换问题

窗口 按键可控制窗口 - 下拉列表.rar

17.01 MB, 下载次数: 3922

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165225
金钱
165225
注册时间
2010-12-1
在线时间
2107 小时
发表于 2016-3-11 23:47:09 | 显示全部楼层
帮顶
回复

使用道具 举报

170

主题

917

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1824
金钱
1824
注册时间
2013-4-13
在线时间
63 小时
发表于 2016-3-29 17:28:59 来自手机 | 显示全部楼层
界面切换,我的也易卡
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 18:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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