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.

[参考译文] MSP430F47187:由于某些未知中断、程序进入 ISR 陷阱例程

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/695970/msp430f47187-program-is-entering-in-isr-trap-routine-due-to-some-unknown-interrrupt

器件型号:MSP430F47187

我们使用了 UART A0、A1、B1。 还为所有人提供了实习人员。 但它仍然是 ISR 陷阱例程中的度量器。 显示了一些时间示波器中断标志/上电中断标志置1?

如何解决此问题?

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

    为了能够进入中断服务例程、您需要启用特定函数的本地中断标志和允许中断的全局中断标志。 您描述的行为可能有多个根本原因。
    如果您只需要 UART 中断标志、能否检查是否禁用了其他中断标志?
    2.使用哪种振荡器? 如果是外部32kHz 晶体、时钟是否稳定?
    3.上电中断标志可能由电源不稳定引起。

    ISR 陷阱例程是什么意思? 程序是在 UART ISR 中停止还是在不同的 ISR 中停止?

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

    我们使用的是 UART A1、UART A0 、I2C 和计时器 A0、A1中断。  问题是,在某些时候,由于某些未知的中断,代码被捕获在 ISR 陷阱代码中。 我们现在已经为 NMI、Timer B0、B1、WDT、PORT2中断添加了中断例程,以找出是哪个 中断导致代码 在 ISR 陷阱例程中跳转。 仍然无法解决问题。

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

    您好!

    请看一下这个 e2e 线程。 它讨论了 ISR 陷阱例程以及如何处理它。

    可能被捕获在 ISR 陷阱例程中的一个原因是不会自行清除的中断标志。 您需要手动清除它们。

    通常不应使用 ISR 陷阱例程、但应针对您期望的每种中断类型(计时器、端口、ADC 等)使用特定的 ISR。

    此致、

    Andre

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

    我们尚未使用任何 ISR 陷阱例程。它已经存在于项目中。 由于某些未知的中断代码指针、该中断代码指针正在被盯着。 我们尝试了不同的小中断例程。仍然无法解决问题。

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

    您好、Kalpana、

    您正在运行的应用是 TI 示例 应用还是已修改的 TI 应用?  它是定制代码吗?

    如果您使用的是 CCS 或 IAR、则应该能够使用断点单步执行代码、以查看程序发生故障的位置。  然后、在故障点、深入了解 API 以找到确切的故障点。  它可能是某些变量未正确初始化或 被设置为不正确的值。  

    您还可以通过在处理程序中放置断点来验证 UART 中断是否正在触发。

    此致、

    Arthi  

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

    您还有其他问题吗? 如果不是、请在上面的帖子中选择"已解决"、以便可以关闭此主题。
    非常感谢!

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

    我想您可以继续使用您的应用程序、因为您不再回复、所以我将关闭此帖子。
    如果您需要进一步的帮助、请随时再次进行评论、它将重新打开主题帖。

    此致、
    Andre
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    谢谢主席先生。
    我正在使用 CCS 版本:6.0.1.00040
    我已经尝试并添加了代码中所有可能的中断例程、以找出导致程序在陷阱 ISR 中跳转的中断。
    尝试签出许多可能导致此情况的变量。
    但问题仍然是什么。

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

    "但问题仍然是这样的。"

    问题所在的地方非常清楚-您尚未提供。

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

    您是否能够在陷阱 ISR 中进行调试? 如果是、您能否查看寄存器视图以查看启用了哪些中断和/或哪些中断标志处于挂起状态? 这将有助于您缩小问题的范围。 除此之外、这可能与此器件的 USCI28勘误表有关。

    如果以上内容没有帮助、则需要修整代码并一次添加一个片段、以查看导致的原因。 例如、从计时器例程开始、测试、然后添加 ADC、测试、I2C、测试等 您可以从这些中断中找到导致问题的中断。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Kalpana、

    您是否能够查看上述 Jace 的建议?

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

    根据 Jace 的建议、您的问题是否已得到解决? 你还有疑问吗?

    此致、
    Andre