1 、 Ucos 的信号量实现还是比较简单的。这里的简单指的是其代码易读,易理解。 简单来说,需要是实现信号量计数与任务挂起列表的实现。对于任务代码而言,信号量提供了共享资源与同步的支持。而信号量本身的实现,则是通过开断中断实现临界区的访问。
2 、 信号量可以用于共享资源的访问和任务间的同步,实际在应用中如果处理不当,可能会产生 “ 死锁 ” 。 死锁问题,在 ucos 内核中没有提供相应的解决方案,需要用户代码支持。
3 、 并不是 ucos 相关的API可在所有情况下可用: ISR 不可调用 OSSemPend() ,OSSemCreate(). 在使用时需要特别注意 .