硬汉嵌入式论坛

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

[AppWizard] AppWizard工程中,RTOS多任务WM_SendMessageNoPara更新数据问题

[复制链接]

1

主题

15

回帖

18

积分

新手上路

积分
18
发表于 2024-3-9 22:30:37 | 显示全部楼层 |阅读模式
请教,AppWizard生成的代码工程,RTOS中其他任务怎么使用WM_SendMessageNoPara往GUI任务SCREEN中的控件更新数据?谢谢!


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2024-3-10 09:48:42 | 显示全部楼层
9楼,获取下Screen的句柄

AppWizard创建页面如何通过外面按键切换页面
https://www.armbbs.cn/forum.php? ... 3076&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-3-11 15:24:07 | 显示全部楼层
eric2013 发表于 2024-3-10 09:48
9楼,获取下Screen的句柄

AppWizard创建页面如何通过外面按键切换页面

谢谢硬汉哥,按照上面方法是可以更新数据,但是现在有个新问题出现了,如果只有一个SCREEN没问题,我现在有很多个SCREEN切换,其他板子需要一直不停的往这个板子发数据,然后数据通过WM_SendMessageNoPara不停地发到其中一个SCREEN上,屏幕触摸按钮切换到其他SCREEN时没问题,现在一切换回数据显示的SCREEN时,板子就死在WM_SendMessageNoPara这里。
回复

使用道具 举报

609

主题

3046

回帖

4893

积分

至尊会员

积分
4893
发表于 2024-3-11 17:10:59 | 显示全部楼层
本帖最后由 hpdell 于 2024-3-11 17:15 编辑
putin 发表于 2024-3-11 15:24
谢谢硬汉哥,按照上面方法是可以更新数据,但是现在有个新问题出现了,如果只有一个SCREEN没问题,我现在 ...

貌似是先获取需要发送到屏幕句柄的id(这个需要定义为全局的), 之后发送消息时带上这个屏幕句柄 参数

我目前就是这么干,完全木有问题哟

WM_HWIN  hWinCctv = NULL ;


void cbID_SCREEN_Cctv(WM_MESSAGE * pMsg) {
        WM_HWIN hItem;
   int NCode, Id, i=0, id_index;
   int  pError;
        volatile int res;


       
        hWinCctv = pMsg->hWin;



switch (pMsg->MsgId)

   ...

  case MSG_ID_CCTV_START: {

   }  break;

  }




#define   MSG_ID_CCTV_START   (GUI_ID_USER + 0x0108)
WM_SendMessageNoPara(hWinCctv , MSG_ID_CCTV_START);   其 他地方发送消息, 那么在 cbID_SCREEN_Cctv 这个里面就可以收到消息了









回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-3-11 17:21:11 | 显示全部楼层
hpdell 发表于 2024-3-11 17:10
貌似是先获取需要发送到屏幕句柄的id(这个需要定义为全局的), 之后发送消息时带上这个屏幕句柄 参数
...

我现在是这么做的,如果LCD只显示这一个 SCREEN 是没有问题,当我从其他 SCREEN 回到这个SCREEN 就死机了。
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-3-11 17:27:39 | 显示全部楼层
我在想,应该是需要获取当前显示SCREEN的句柄,WM_SendMessageNoPara只能发给当前显示的SCREEN,当前还在看手册中。
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-3-11 21:12:38 | 显示全部楼层
找到原因了,是切换到其他SCREEN时,删掉了原来的SCREEN,切换回原来的SCREEN时,原来的SCREEN的句柄变了。导致程序死了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 10:05 , Processed in 0.234487 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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