OpenEdv-开源电子网

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

EMwin中发不了消息队列么?

[复制链接]

41

主题

113

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
259
金钱
259
注册时间
2016-6-12
在线时间
61 小时
发表于 2016-8-27 22:24:27 | 显示全部楼层 |阅读模式
1金钱
我在emwin中的GUIbuilder软件做的c文件里case内容里加上发送消息队列,可是没有用 switch (pMsg->MsgId) {
  case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);
    NCode = pMsg->Data.v;
    switch(Id) {
    case ID_BUTTON_0: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_RELEASED:
                                LED0=~LED0;
                                key=1;
                        OSQPost((OS_Q*                )&KEY_Msg,               
                                                        (void*                )&key,
                                                        (OS_MSG_SIZE)1,
                                                        (OS_OPT                )OS_OPT_POST_FIFO,
                                                        (OS_ERR*        )&err);

        break;

就在button这里加了发送消息队列,然后在主程序中请求消息,LED0能正常翻转,主程序写的请求消息就请求不了,下面是请求的任务,为什么啊
void led0_task(void *p_arg)
{
        u8 num;
        u8 *key;
        OS_MSG_SIZE size;
        OS_ERR err;
        while(1)
        {
                        key=OSQPend((OS_Q*                        )&KEY_Msg,   
                                                                        (OS_TICK                )0,
                                                                        (OS_OPT                        )OS_OPT_PEND_BLOCKING,
                                                                        (OS_MSG_SIZE*        )&size,               
                                                                        (CPU_TS*                )0,
                                                                        (OS_ERR*                )&err);
                if(*key==1)
                        LED1=~LED1;
                OSTimeDlyHMSM(0,0,0,500,OS_OPT_TIME_PERIODIC,&err);//Ñóê±500ms
        }
}


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

使用道具 举报

41

主题

113

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
259
金钱
259
注册时间
2016-6-12
在线时间
61 小时
 楼主| 发表于 2016-8-28 10:14:40 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-8-29 00:16:01 | 显示全部楼层
帮顶
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 20:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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