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.

[参考译文] F28M36P63C2:TRM 表示当所有标志都被清除时、NMI Wacthdog 计时器将停止计数并且不会复位系统、但除非您退出 NMI ISR、否则不会发生这种情况

Guru**** 2538955 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/899968/f28m36p63c2-trm-implies-when-all-flags-are-cleared-the-nmi-wacthdog-timer-will-stop-counting-and-not-reset-the-system-but-this-doesn-t-happen-unless-you-exit-the-nmi-isr

器件型号:F28M36P63C2

作为我们系统安全的一部分、我希望在关键问题上进入"保护模式"。 为此、我想针对某些 NMI 进入条件提供一个无限 while 循环(使 NMI 处理程序内的 LED 闪烁)。 但是、即使 NMI ISR 内的所有标志最初都被复位、NMI 安全装置也总是将系统复位。 在现有 NMI ISR 之前、我没有找到防止复位的方法。 TRM 表示清除标志是唯一的条件、但条件似乎是清除标志并退出 ISR。 是否有办法从 NMI ISR 内实现我想要的(停止 NMI 监视器计时器)?

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

    布拉德福德

    清除 NMI ISR 中所有被锁存的 NMI 错误标志条件 将停止 NMI 看门狗计数器并将其复位。   但是、它 会 锁存任何新的错误条件、然后 它将重新启动计数器。  检查 ISR 中是否出现新的错误情况。  您应该清除 NMI 中断标志并同时清除所有标志。  确保先清除挂起失败标志、然后清除 NMIINT 标志。  此外、请注意硬件具有优先级。  也就是说、如果硬件在尝试清除某个位的同时尝试设置某个位、则硬件操作将生效。

    但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。

    - Ken

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

    TRM 正确清除所有标志将停止 NMI 看门狗定时器。 我的问题是 M3标准看门狗 Timer0也被设置、因此系统复位。 这是我复位的来源。 因此、对于那些调试 NMI 的人、请确保标准看门狗被禁用、以避免像我一样被混淆。 ;)谢谢您 Ken。