硬汉嵌入式论坛

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

[μCOS-III] 任务内建信号量函数OSTaskSemPend可以放在子函数里面吗?

[复制链接]

31

主题

53

回帖

146

积分

初级会员

积分
146
发表于 2016-4-24 12:18:06 | 显示全部楼层 |阅读模式
可不可以把OSTaskSemPend()函数放到一个子函数里面,然后在OS任务中调用。
void SubFunction()
{
      OSTaskSemPend(...);
}

void OSTask1(void)
{
    ....
    SubFunction()
    ....
}
这时,在另一个任务中,可以向OSTask1发送内建的信号量吗?
void MyISR(void)
{

    ....
   OSTaskSemPost( OSTask1TCB);
    ....

}

上面这种用法正确吗?
还是应该用OS的内核对象,用全局变量OSSem来实现这种方式?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2016-4-24 12:45:44 | 显示全部楼层
可以的,没问题。
回复

使用道具 举报

31

主题

53

回帖

146

积分

初级会员

积分
146
 楼主| 发表于 2016-4-24 12:54:35 | 显示全部楼层
谢谢,我调试了一下,总是阻塞在pend里面,如果这种用法正确的话,应该是我的定时器没有配置好,我再检查一下代码吧。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 07:45 , Processed in 0.231448 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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