[ZLG-ARM] lpc2210 ucos问题

[复制链接]
2364|6
 楼主| 北京户口 发表于 2010-6-17 21:20 | 显示全部楼层 |阅读模式
ucOS操作系统下,LPC2210,有时候运行一个对时序要求非常严格的程序,千万不能被其他任务、系统任务、时钟节拍中断等打断,可以用VICIntEnClr=1《4强制关掉定时器0吗?只用VICIntEnClr=1《4就可以吗?
想实习去 发表于 2010-6-17 21:21 | 显示全部楼层
!OS_ENTER_CRITICAL();
关闭总中断!

OS_EXIT_CRITICAL();
打开总中断!
年轻不在 发表于 2010-6-17 21:21 | 显示全部楼层
不要关总中断不能关总中断,因为程序运行中有别的中断会发生,但又不希望被时钟节拍中断打扰?该怎么做?
yoyowodeai 发表于 2010-6-17 21:22 | 显示全部楼层
当然可以你不使能定时器就行了。这样如果处理完后,它应该会在idle里不断循环。
linux1 发表于 2010-6-17 21:22 | 显示全部楼层
锁定调度器行么映像中ucos有个锁定调度器的功能,先锁定,做完再解锁,不知道可不可以
3B1105 发表于 2010-6-17 21:22 | 显示全部楼层
这样处理怎么样先关全局中断,
屏蔽定时器,
开全局中断,
在你自己的代码也就是当前任务中,会一直for(;;){}中运行,现在你就可以做自己的处理了。
完事后,关全局中断,打开定时器,开全局中断。
另外ucos中锁定调度器这个功能,不知是怎么实现的,不知道时钟中断还有没有,估计时钟中断还在,只是停止调度而已
LPC300 发表于 2010-6-17 21:23 | 显示全部楼层
锁定是不进行任务切换。其实屏蔽中断就行了,这样任何中断都不能响应,包括时钟节拍。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

107

主题

521

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部