我配置了三个定时器中断,定时器周期都是固定1s中断一次,timer0、timer1、timer2中断,我想让timer2在执行中断程序的时候可以被timer0打断,代码如下,基本是按照官方给的参考文档完成的,但是这样并不能实现中断嵌套,这是为什么
您好
我对这方面的延误深表歉意。 对于C28x中断,有两种不同的嵌套方案:
简单嵌套(无论CPU是否已在为另一个中断提供服务,最高优先级的中断都将分支到)
更改优先级(嵌套以更改ePIE中的优先级)-使用sw_prioritization_isr_levels.h中的掩码
为了确保我理解,您希望中断的以下优先级/行为,是否正确?
CPU计时器0 ISR (通过ePIE)
CPU计时器1 ISR
CPU计时器2 ISR -嵌套计时器0内部
如果是这样,您只需查看一个简单的嵌套案例1场景,其中硬件中的优先级保持不变。 请在此处查看我的描述,了解如何实现:(3) TMS320F28388D:EINT和嵌套- C2000微控制器论坛- C2000Tm︎ 微控制器- TI E2E支持论坛。
此外,还有几个注意事项:
您只需要计时器0 ISR内部的ACK,因为这是ePIE中唯一的实际中断,其他计时器中断直接连接到CPU。
我们在C2000ware中有一个嵌套示例,使用所有三个计时器中断(INTERRUPT_EX3_SW_PRIORIZATION),但这是一个更改优先级的示例1,所以听起来好像您想要执行与此不同的操作。