你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

为什么UCOS的信号量已经有效了,而等待任务的信号量却不执行???

[复制链接]
abnerle 提问时间:2012-3-12 21:13 /
2个任务

tsak1  优先级6
task2 优先级8

OS_EVENT* SEM1;   

SEM1=OSSemCreate(0);   

task1(void)
{
  for(;;)
   {
    printf("task1 ruing \r\n");
    OSSemPost(SEM1);
        OSTimeDlyHMSM(0,0,0,600);
   }
}

task2(void)
{
  for(;;)
    {
        OSSemPend(SEM1,0,&err);    
         printf("task2 ruing \r\n");
         OSTimeDlyHMSM(0,0,0,20);
       }
}

task2 第一次执行了一次,然后始终没有执行,暂停查看OSEventCnt的值为123, 按理说这个信号量已经有效了,延时也是足够的,为什么task2得不到运行????
赞 收藏 评论1 发布时间:2012-3-12 21:13

举报

1个回答
废鱼 回答时间:2012-3-13 10:32:41

RE:为什么UCOS的信号量已经有效了,而等待任务的信号量却不执行???

你看一下是不是死到这个里面了.
OSSemPend(SEM1,0,&err);   
仔细看一下OSSemPend入口参数的说明.

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版