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

为什么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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版