|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
时钟节拍() |
作者:ajiang99 栏目:嵌入式系统 |
如果时钟节拍到来时,有任务关了中断,那么时钟中断还执行吗?如果时钟节拍到来时正处于中断处理中,是否进行中断嵌套? * - 本贴最后修改时间:2005-4-21 8:59:20 修改者:ajiang99 |
2楼: | >>参与讨论 |
作者: puppyh 于 2005/7/11 12:17:00 发布:
我也碰到该问题,请问你解决了吗? 如果时钟节拍到来时正处于中断处理中,如果进行中断嵌套,退出时钟中断时,有一个高优先级的任务被唤醒,是否进行任务切换?如果进行任务切换,这时高优先级的任务就运行在上一个中断里? 请问时钟节拍的定时器的中断优先级是否应该设为最低? |
3楼: | >>参与讨论 |
作者: 深思 于 2005/7/11 13:56:00 发布:
re 任务关了中断,当然不能被中断了,开中断后才能继续。中断会悬挂。 时钟节拍到来时正处于中断处理中,是否进行中断嵌套? 也就是中断服务程序中是否允许中断嵌套,这要看你的移植,嵌套实现起来比较复杂,但对于比较大的中断服务程序还是必要的。 有一个高优先级的任务被唤醒,是否进行任务切换? 看内核是否支持优先级抢占,一般实时系统都是支持的,ucos 支持。 如果进行任务切换,这时高优先级的任务就运行在上一个中断里? 中断已经退出去了,何谈运行在中断里? 请问时钟节拍的定时器的中断优先级是否应该设为最低? 自己决定,怎样都行,只要能中断,呵呵。 |
4楼: | >>参与讨论 |
作者: ketp 于 2005/7/11 16:27:00 发布:
中断优先于任何一个任务 必须退出所有中断,才能任务调度 |
5楼: | >>参与讨论 |
作者: puppyh 于 2005/7/12 17:17:00 发布:
RE深思 我的问题是时钟节拍的定时中断到来时正处于另一个中断处理中,如果定时中断优先级高于当前正在处理的中断,当前中断被打断,进入定时中断处理程序,在定时中断处理程序中一个优先级高的任务被唤醒,退出定时中断是是否进行任务切换?而此时上一个中断还没有退出,如果进行任务切换,就会在中断还没有退出时运行一个新的任务。 请深思帮忙解释该如何处理。 |
6楼: | >>参与讨论 |
作者: puppyh 于 2005/7/13 10:33:00 发布:
To ketp 谢谢你的解释,但是我还是不明白,因为你说必须退出所有中断,才能任务调度。 在我上一贴中我提到如果定时中断打断另一个中断,在定时中断中调用了OSTimeTick(例如uCOS-II),该函数中并没有判断当前是否有中断嵌套,这是否是uCOS-II的bug? |
|
|
Copyright © 1998-2006 tgdrjb.cn 浙ICP证030469号 |