有关ucos的二元信号量或mutex在同一个任务中重复调用的问题
如果某一个task希望占用一部分资源,使用ospend sem或mutex的函数。
这部分资源只允许在一个task里面使用,
但是这个task里面由于模块很复杂,
可能在callback里面多次运行ospend。
这样不就相当于task把自己锁住了吗?
不知道有什么好的办法呢? 同样的问题,我也遇到了,
我是不停地OSSemPend,发送信号量在中断中。目前运行的没啥问题,但总觉得不对劲 自己用一个受保护的变量,通过查看这个变量的值
就知道是不是已经拥有信号量了,这个问题就解决了 OSSemPend();
callback();
OSSemPost();
只在最外面一层上锁
页:
[1]