打印
[ZLG-ARM]

请教:zlg在LPC2K上移植的ucos代码中TICK ISR怎么没有中断退出?

[复制链接]
1673|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
MCUJunior|  楼主 | 2008-9-4 08:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void Timer0_Exception(void)
{
    T0IR = 0x01;
    VICVectAddr = 0;//interrupt close通知中断控制器中断结束
    OSTimeTick();
}
这就是定时器的中断服务代码,这段代码是从深入浅出LPC213X、LPC214X上光盘中的例程->GPIO实验,不懂得地方是时钟中断应该有中断退出函数OSIntExit(),以实现时钟滴答结束后有可能某个任务延时时间到了,激活这个任务,但是这里的代码没有体现OSIntExit,那怎么实现中断结束后任务调度呢?请各位指教。

相关帖子

沙发
zlg_lly| | 2008-9-4 20:20 | 只看该作者

RE:MCUJunior

你好,首先肯定一点,你看书很仔细。
OSIntEnter()和OSIntExit()在中处理过程中都是有的,只是没有用C程序表现出来,包含在工程的IRQ.S文件中的句柄处理中。
在你看了《μC/OS微小内核分析与程序设计》一书中的“临界区与中断管理”部分后就会明白的。

使用特权

评论回复
板凳
MCUJunior|  楼主 | 2008-9-4 21:56 | 只看该作者

谢谢指点

   但是,我上面的程序是《深入浅出LPC213X/LPC214X》上的例程里的,上面中断句柄处理是有个IRQ_HANDLER来实现中断退出后运行OSIntExt的,但是前面要加IRQ_HANDLER的。
  你说的是LPC23XX开发板上那种的,我有看过你们那个板子上的例程,和原来那种IRQ_HANDLER中断宏模板是不同的,不过没细看实现过程。
  总之我的想法应该被证明正确,谢谢zlg_lly的回复。

使用特权

评论回复
地板
MCUJunior|  楼主 | 2008-9-10 17:05 | 只看该作者

我搞错了

  那个Timer0_Exception加了IRQ_Handler句柄

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

178

帖子

0

粉丝