ucosii(2.89)mutex 应用要点
mutex 的创建在于共享资源打交道是可以可以保证满足互斥条件:1,必须保证继承优先级要高于可能与相应共享资源打交道的任务中优先级最高的优先级。2,不要将占有Mutex的任务挂起,也不要让占有mutex的任务等待(信号量,邮箱,消息队列等),不要将占有mutex的任务延迟。应该尽快释放资源。3,中断服务子程序不能调用osmutexpost 函数。
void TaskA()
{
osmutexPend();
//do something
ostimedly();
}
void TaskB()
{
//do sth
osmutexPost()
}
将不能保证程序的正常运行。
如果需要同步可以改用semaphore