主题中讨论的其他器件:LAUNCHXL-RM42、 TMS570LS0432
我有 一个 LAUNCHXL-RM42 、我正在尝试了解如何正确使用数字看门狗。 我使用的是 Halocogen 示例文件 example_dwwd.c、其中演示了如何使用 dwwdinit 函数的 generate_NMI 设置来设置数字看门狗。 运行此示例时、nERROR LED 将在看门狗到期时亮起、这是预期的。
当这个中断发生时、我想运行一个特定的安全关断功能、假定我的正常程序不再工作并且安全装置更新正确。 根据我的理解、来自窗口化看门狗的中断映射到 ESM 组2通道24。 然后、当 看门狗过期时、我希望 notificait.c 中的 esmGroup2Notificaiton (uint32通道)中断函数在通道= 24时运行。 但是、情况并非如此。 当看门狗过期时,esmGroup2Notificaiton 或 esmGroup1Notificaitons 函数都不运行。 在 ESM.c 文件中、esmHighInterrupt (调用 esmGroup1Notificaitons 和 esmGroup2Notificaiton)也不会在看门狗过期时运行。 据我所知、看门狗过期时没有可修复的中断运行。 我缺少什么吗? 我觉得这应该是一个非常简单的做法。
由于某种原因、我认为这个芯片可能无法正常工作、但我使用了一 个姐妹 Hercules 芯片 TMS570LS0432尝试了同样的操作、它的运行方式也是一样的。
那么、我的问题是、使用 即将过期的数字看门狗触发的中断立即运行关断功能的正确方法吗?
感谢您的阅读和任何帮助!
道格