浅析ARM9 发表于 2013-7-25 18:04:36

ucos临界区问题

ucos系统的OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()分别是开关中断,
关闭中断后定时器是无法产生任务调度的,
但是如果我在关闭中断后手动去调度一下,
或者不小心在关闭中断后使用了延时函数OSTimeDly(),
导致了另外一个任务运行,而另外一个任务刚好会改变临界资源,会出现什么情况?

OS_ENTER_CRITICAL();
.
.
.
OSTimeDly(100);
.
.
.
OS_EXIT_CRITICAL();

亚瑟王 发表于 2013-7-26 12:21:47

没有研究过。不过既然你关闭了系统调度,那就是单线程的东西了,不可能出现临界的问题。
页: [1]
查看完整版本: ucos临界区问题