TI中文支持网
TI专业的中文技术问题搜集分享网站

28377中断问题

28377高级别中断来的时候能否打断正在执行的低级别中断,如果能是怎么实现的,还是说就是这样的,高级别中断来了就必然打断正在执行的低级别中断啊?谢谢!

HeiHei:

对的啊 这就是为什么存在中断优先级的原因啊

28377高级别中断来的时候能否打断正在执行的低级别中断,如果能是怎么实现的,还是说就是这样的,高级别中断来了就必然打断正在执行的低级别中断啊?谢谢!

havi houston:

c28x的cpu有中断控制寄存器IER;当系统收到中断后,直到cpu获取到中断服务地址后会将IER中所有的中断都关闭,这个时候是不响应中断的。

除非在中断函数中在将IER寄存器的值打开,才会有中断嵌套

28377高级别中断来的时候能否打断正在执行的低级别中断,如果能是怎么实现的,还是说就是这样的,高级别中断来了就必然打断正在执行的低级别中断啊?谢谢!

shook xu:

回复 HeiHei:

你说的就是高级别的中断必然打断低级别正在执行的中断是吧,不需要做中断嵌套?

28377高级别中断来的时候能否打断正在执行的低级别中断,如果能是怎么实现的,还是说就是这样的,高级别中断来了就必然打断正在执行的低级别中断啊?谢谢!

shook xu:

回复 havi houston:

您的回答跟我原来的认知相同,而且我貌似在哪里看到过说28377好像不支持中断嵌套。但你的楼上TI员工的回答貌似跟我们理解的不一样。你用28系列的哪个芯片实现了中断嵌套呢?

28377高级别中断来的时候能否打断正在执行的低级别中断,如果能是怎么实现的,还是说就是这样的,高级别中断来了就必然打断正在执行的低级别中断啊?谢谢!

Eric Ma:

回复 shook xu:

C2000芯片默认是没有使能中断嵌套的,也就是说,当CPU响应中断后,在执行中断服务函数后,即使有高优先级的中断来的时候,这个时候CPU仍然执行当前的中断服务函数,不会去打断。执行完之后,才会去响应那个中断。

C2000默认的中断优先级只是用于,当两个或多个中断同时出现时,CPU先去相应高优先级的中断。

如果要进行中断嵌套,如高优先级打断低优先级,或是低优先级去打断高优先级的中断,可以参考以下链接:

http://processors.wiki.ti.com/index.php/Interrupt_FAQ_for_C2000#Q:_Can_interrupts_be_nested.3F

ERIC

赞(0)
未经允许不得转载:TI中文支持网 » 28377中断问题
分享到: 更多 (0)