打印

关于STR91x中断控制器及中断嵌套的疑问

[复制链接]
1905|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sqman1999|  楼主 | 2008-2-18 12:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
昨天看了st网站的一篇应用笔记STR91x interrupt management
在笔记里说如果要使用中断嵌套的话,需要在ISR里首先读取VIC1_VAR的值,并且在ISR结束时写VIC1_VAR以更新VIC1的优先级。不使用中断嵌套的话,在ISR里就不强制对VIC1_VAR的读写。

有几个地方不清楚:
1.**里说写VIC0_VAR或VIC1_VAR的目的是为了向VIC指示中断处理已经结束,来更新优先级逻辑使得相同或者较低的优先级中断能够中断CPU。
如果我在ISR里不对VICx_VAR写值的话,相同或较低的优先级中断就不能够响应了吗?我之前看的STR91x的demo程序里就没有此操作。
2.**里说:在不允许中断嵌套的情况下,如果中断来自VIC0,仍要向VIC0_VAR写任意值,但如果中断来自VIC1,则不强制此操作,如果这样,那么一个来在VIC1的最高优先级的中断执行之后,VIC1的较低优先级的中断会不会响应?
我发现新的固件库里的91x_it.C里VIC0的中断函数都加上了VIC0->VAR = 0xFF;的处理,但是VIC1的都没加。




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

本版积分规则

2

主题

2

帖子

0

粉丝