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.

[参考译文] TMDSLCDK6748:为多个中断执行单中断服务例程

Guru**** 2595770 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/587644/tmdslcdk6748-single-interrupt-service-routine-getting-executed-for-multiple-interrupts

器件型号:TMDSLCDK6748

您好!

在我的代码中、有两个事件应该导致中断。

 

1) 1)     数据在 UART2外设上可用

2)     2) Timer64P2内部

 

在调试过程中,我注意到中断会发生,但计时器的中断服务例程只会执行,而 UART 的中断服务例程则不会执行。 如果计时器被禁用,则 UART 的 ISR 将被执行。

我正在使用中断#4来处理计时器事件、使用#5来处理 UART。  

 

使用 Starterware 对中断进行编程所遵循的序列:-

 

  1. 在通过调用 IntDSPINTTCInit()启用任何中断处理之前初始化 DSPINTC。
  2. 使用 IntRegister() API 将 ISR 注册到特定的 DSP 中断编号。
  3. 使用 IntEventMap() API 将 DSP 中断映射到特定的系统事件。
  4. 使用 IntEnable() API 启用 DSP 中断。
  5. 使用 IntGlobalEnable() API 全局启用 DSP 中断。

Starterware 中是否有配置了多个中断的示例?

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

    我已将此内容转发给软件专家。 他们的反馈应发布在此处。

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

    请访问 TI.com 并搜索"C6000嵌入式设计技术讲座"。 此存档培训课程包括学生指南和包含解决方案的实验。 课程材料还包括视频。

    您还应该参加 TI-RTOS 技术讲座。 EDW 页面顶部附近有一个指向它的链接-它将向您展示如何设置和使用中断、硬件和软件以及任务。

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

    是否有办法在没有 RTOS 的情况下设置多个中断?
    我正在为我的应用程序使用 Starterware 驱动程序。

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

    当您使用 TI-RTOS 时、大部分乏味的工作都是为您完成的。 这就是我们为您提供有关受控软件平台的简单示例和培训的方法。

    您可以使用 Starterware 执行此操作、但可能没有您想要的确切示例。 我不使用 Starterware、因此无法为您提供指导。 Starterware 是您可以执行的单个操作的一个很好的示例。 您必须承担集成多个不同内容的任务、以使系统更复杂。 您可能遇到的问题与您使用的 Starterware 示例是否适合一起使用的方式有关。 或者您可能不正确地执行其他操作。 有许多事情可能会出错、调试每种不同的方法都很难在顾问之外进行。

    我再次建议您使用 TI-RTOS、然后查看是否要返回 Starterware。 其理念是让您尽快运行。 如果你有另一个目标、那么你将有一个更困难的时间。

    但也许其他人能够直接帮助您。 我给了您最好的建议、帮助您快速取得成功。 这可能不是每个人的答案。

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

    感谢您的回复。 我能够在 Starterware 中找到一个示例(演示)以满足我的需求。

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

    在 DSP 上、连接到较低 DSP 中断号的中断具有较高的优先级、因此、您可以将计时器置于中断12或较低优先级、并将 UART 置于较高优先级。

    另外、如何清除 ISR 内部的中断、是禁用和清除所有中断还是仅清除发生 ISR 的中断? 对于多任务、多线程应用、我们建议您使用 TI RTOS、其中实施了一个调度程序来管理这种冲突。

    此致、
    Rahul