查看: 2265|回复: 3

[已解决] 求助大侠:event_wait_all_ 和event_wait_any 的区别?(已解决)

[复制链接]

该用户从未签到

51

主题

307

帖子

0

高级会员

Rank: 4

积分
651
最后登录
2020-9-4
发表于 2013-9-12 15:55:02 | 显示全部楼层 |阅读模式
求助大侠:event_wait_all_ 和event_wait_any 的区别?
                        
            如果有1、2两个任务给事件组event_ptr的01位置位_event_set(event_ptr,0x01),而令外3任务等待event_wait_all_ticks(event_ptr, 0x01, 0) ;是不是1、2两个任务都置位后,3任务才满足条件才能向下运行 printf(" Tick \n");;event_wait_any_ticks(event_ptr, 0x01, 0) ,只要1或者2置位后就可以向下运行 printf(" Tick \n");;
             if (_event_wait_all_ticks(event_ptr, 0x01, 0) != MQX_OK) {
                     printf("\nEvent Wait failed");
                     _task_block();
                  }
                  if (_event_clear(event_ptr,0x01) != MQX_OK) {
                     printf("\nEvent Clear failed");
                     _task_block();
                  }
                  task_wait_count = _event_get_wait_count(event_ptr);
                  
                 printf(" Tick \n");
            我理解的对吗?
            
            
            
求助大侠:event_wait_all_ 和event_wait_any 的区别?
                        
            如果有1、2两个任务给事件组event_ptr的01位置位_event_set(event_ptr,0x01),而令外3任务等待event_wait_all_ticks(event_ptr, 0x01, 0) ;是不是1、2两个任务都置位后,3任务才满足条件才能向下运行 printf(" Tick \n");;event_wait_any_ticks(event_ptr, 0x01, 0) ,只要1或者2置位后就可以向下运行 printf(" Tick \n");;
             if (_event_wait_all_ticks(event_ptr, 0x01, 0) != MQX_OK) {
                     printf("\nEvent Wait failed");
                     _task_block();
                  }
                  if (_event_clear(event_ptr,0x01) != MQX_OK) {
                     printf("\nEvent Clear failed");
                     _task_block();
                  }
                  task_wait_count = _event_get_wait_count(event_ptr);
                  
                 printf(" Tick \n");
            我理解的对吗?
            
            
            
求助大侠:event_wait_all_ 和event_wait_any 的区别?
                        
            如果有1、2两个任务给事件组event_ptr的01位置位_event_set(event_ptr,0x01),而令外3任务等待event_wait_all_ticks(event_ptr, 0x01, 0) ;是不是1、2两个任务都置位后,3任务才满足条件才能向下运行 printf(" Tick \n");;event_wait_any_ticks(event_ptr, 0x01, 0) ,只要1或者2置位后就可以向下运行 printf(" Tick \n");;
             if (_event_wait_all_ticks(event_ptr, 0x01, 0) != MQX_OK) {
                     printf("\nEvent Wait failed");
                     _task_block();
                  }
                  if (_event_clear(event_ptr,0x01) != MQX_OK) {
                     printf("\nEvent Clear failed");
                     _task_block();
                  }
                  task_wait_count = _event_get_wait_count(event_ptr);
                  
                 printf(" Tick \n");
            我理解的对吗?
            
            
            
求助大侠:event_wait_all_ 和event_wait_any 的区别?
                        
            如果有1、2两个任务给事件组event_ptr的01位置位_event_set(event_ptr,0x01),而令外3任务等待event_wait_all_ticks(event_ptr, 0x01, 0) ;是不是1、2两个任务都置位后,3任务才满足条件才能向下运行 printf(" Tick \n");;event_wait_any_ticks(event_ptr, 0x01, 0) ,只要1或者2置位后就可以向下运行 printf(" Tick \n");;
             if (_event_wait_all_ticks(event_ptr, 0x01, 0) != MQX_OK) {
                     printf("\nEvent Wait failed");
                     _task_block();
                  }
                  if (_event_clear(event_ptr,0x01) != MQX_OK) {
                     printf("\nEvent Clear failed");
                     _task_block();
                  }
                  task_wait_count = _event_get_wait_count(event_ptr);
                  
                 printf(" Tick \n");
            我理解的对吗?
            
            
            
如果有1、2两个任务给事件组event_ptr的01位置位_event_set(event_ptr,0x01),而令外3任务等待event_wait_all_ticks(event_ptr, 0x01, 0) ;是不是1、2两个任务都置位后,3任务才满足条件才能向下运行 printf(" Tick \n");;event_wait_any_ticks(event_ptr, 0x01, 0) ,只要1或者2置位后就可以向下运行 printf(" Tick \n");;
 if (_event_wait_all_ticks(event_ptr, 0x01, 0) != MQX_OK) {
         printf("\nEvent Wait failed");
         _task_block();
      }
      if (_event_clear(event_ptr,0x01) != MQX_OK) {
         printf("\nEvent Clear failed");
         _task_block();
      }
      task_wait_count = _event_get_wait_count(event_ptr);
     
     printf(" Tick \n");
我理解的对吗?
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

7

主题

196

帖子

0

中级会员

Rank: 3Rank: 3

积分
380
最后登录
1970-1-1
发表于 2013-9-12 16:42:44 | 显示全部楼层

回复:求助大侠:event_wait_all_ 和event_wait_any 的区别?(正解)

event_wait_all_ticks(ptr, mask, ticks), 是指mask中的所有bit有效, 事件才有效,它是一种与的关系。 例如,若mask是0x3(00000011), 则当bit 0 和bit 1同时置位才有效。 而event_wait_any_ticks(ptr, mask, ticks)指的事任意一个bit有效, 事件有效。它是一种或的关系
回复 支持 反对

使用道具 举报

该用户从未签到

51

主题

307

帖子

0

高级会员

Rank: 4

积分
651
最后登录
2020-9-4
 楼主| 发表于 2013-9-12 16:46:23 | 显示全部楼层

回复:求助大侠:event_wait_all_ 和event_wait_any 的区别?

谢谢!我试试!
回复 支持 反对

使用道具 举报

该用户从未签到

35

主题

508

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2167
最后登录
1970-1-1
发表于 2013-9-13 13:39:45 | 显示全部楼层

RE:求助大侠:event_wait_all_ 和event_wait_any 的区别?

感谢使用飞思卡尔社区。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-8-6 07:31 , Processed in 0.097560 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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