This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LC4357:独立处理 GIO 中断

Guru**** 2473260 points
Other Parts Discussed in Thread: TMS570LC4357

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/976909/tms570lc4357-handle-gio-interrupts-independently

器件型号:TMS570LC4357

我们将 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 而不是使用微控制器功能、因此优先级功能对于软件开发人员来说是一项非常艰巨的任务。

您能确认我们的假设吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Roland、

    你是对的。 所有 GIO 引脚只有两个优先级(高和低)。 一个低电平中断处理块和一个高电平中断处理块为所有 GIO 引脚服务、但一次只能由一个中断块(低电平或高电平)处理一个引脚。

    在 GIO 中断服务例程中、您应读取 GIO 偏移寄存器(GIOOFF1或 GIOOFF2、取决于高/低电平中断)以查找挂起的中断 GIO 通道。