我们将 TMS570LC4357微控制器用于需要通过 GIO 接口处理多个数字输入信号的航天应用。 每个信号都应使用不同优先级的不同中断来处理、如下所示:
-信号1 - ISR 1 -优先级1
-信号2 - ISR 2 -优先级2
(笑声)
-信号 n - ISR n -优先级 n
信号1 ISR 应优先于信号2 ISR、信号2 ISR 应优先于信号 n、但不应相反、即如果正在执行 ISR1、并且在完成其任务 ISR2中断之前、ISR2应在队列中等待、直至 ISR1完成。 然后 ISR2开始执行。 如果 ISR1在 ISR2完成其任务之前中断、ISR1应移出 ISR2、当 ISR1任务结束时、应恢复 ISR2。
查看您的文档(spnu563a)和示例、所有 GIO 信号似乎共享相同的两个中断: GIO 高电平和 GIO 低电平、软件负责管理 ISR 机制、读取和写入代理寄存器、因此、原则上、软件应管理 ISR 而不是使用微控制器功能、因此优先级功能对于软件开发人员来说是一项非常艰巨的任务。
您能确认我们的假设吗?