嵌入式学习小组
直播中

李建

7年用户 197经验值
私信 关注

关于UCOSIII的信号量和互斥信号量的理解?

在UCOSIII中延时一定会引起任务切换,如果所有任务都进入等待态,则切换到空闲任务运行?
请求信号量,如果信号量值非零,不进行任务切换;为零,(等待超时后?或者一般都是设置死等)进行任务切换?
释放信号量。如果其它任务中有请求信号量,且该任务优先级高于当前任务优先级,进行任务切换;如果其它任务中当前没有请求此信号量,或该任务优先级低于当前任务优先级,不进行任务切换?
请求互斥信号量,如果互斥信号量值非零,不进行任务切换;为零(当前任务优先级为高,之前请求到互斥信号量的中/低优先级任务,升到当前任务的高优先级),(等待超时后?或者一般都是设置死等)进行任务切换?
释放互斥信号量,如果其它任务中有请求互斥信号量(如果当前任务优先级之前为低,则降到之前的低优先级),进行任务切换;如果其它任务中当前没有请求此信号量,不进行任务切换?
好像有点说不太清楚啊,还是看代码更清楚点?

回帖(2)

李兰英

2020-3-13 09:49:58
是的,你可以自己测试,结果就出来了
举报

施敏

2020-3-13 09:59:36
好的,谢谢原子哥,是看你的例程然后结合代码推出来的,想明确下这些结果
举报

更多回帖

发帖
×
20
完善资料,
赚取积分