ucos临界区问题
ucos系统的OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()分别是开关中断,关闭中断后定时器是无法产生任务调度的,
但是如果我在关闭中断后手动去调度一下,
或者不小心在关闭中断后使用了延时函数OSTimeDly(),
导致了另外一个任务运行,而另外一个任务刚好会改变临界资源,会出现什么情况?
OS_ENTER_CRITICAL();
.
.
.
OSTimeDly(100);
.
.
.
OS_EXIT_CRITICAL(); 没有研究过。不过既然你关闭了系统调度,那就是单线程的东西了,不可能出现临界的问题。
页:
[1]