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.

[参考译文] MSP430FR2355:GIE 位被清零、可能的原因是什么?

Guru**** 2540720 points
Other Parts Discussed in Thread: MSP430FR2355

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/860766/msp430fr2355-gie-bit-cleared-possible-causes

器件型号:MSP430FR2355

您好!

我使用 MSP430FR2355进行频率测量和温度测量/控制。 MSP 通过 UART 连接到主 CPU。 我观察到、经过几分钟甚至几秒钟后、MSP 不再通过 UART 做出响应。 我连接了一个调试器、并尝试了解正在发生的情况。 几分钟的完美运行后、MSP 停止响应。

当程序停止执行时、我看到状态寄存器(SR)中的 GIE 位被清零、但是程序继续在主循环和所有其他函数(ISR 除外)中运行。 在"正常"操作期间停止程序执行时、GIE 保持置位、因此 GIE 位的"清零"不是由于调试器所致。 我在器件数据表和互联网上对此主题进行了一些研究、但对于我的问题没有太多可查的地方。 我找到 了一篇 E2E 论坛文章、介绍在单步调试时清除 GIE、但正如我提到过的、我认为调试器不会清除 GIE 位(我只是停止程序执行、而不是单步调试)。

这是否与 FRAM 访问故障有关? 我以8MHz 的频率运行、因此插入 FRAM 等待状态对我来说似乎没有必要。 不过、我插入了两个 FRAM 等待状态(建议在高于8MHz 的时钟频率下运行)、在我看来、MSP 现在可以正常工作、没有错误。 但是、如果我正确理解器件系列用户指南、FRAM 访问故障应该会导致 PUC、这反过来会导致器件复位(在我的情况下不会发生这种情况)。

对此主题有什么想法/想法?

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

    大家好、Torben、

    根据您的配置、您的 MCLK 频率是否有可能超过8MHz? 我不确定 FRAM 等待状态是如何影响 GIE 位的、但也许您以高于预期的频率运行。 您可以通过 IO 输出 MCLK 以测量实际频率。 在 MCLK 频率远低于8MHz 限制(如4MHz)时、您还可以返回到无等待状态。

    此致、

    James

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

    尊敬的 James:

    我使用的是外部8MHz 晶体。 我通过各自的引脚提供 MCLK 和 SMCLK 输出、以监控时钟频率。 使用示波器、我可以测量略高于8MHz (8.010 MHz)的频率、这在我看来是可以的。 8MHz 的限制有多大? 8.010 MHz 是否已经过大?

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

    大家好、Torben、

    感谢您的测量! 我假设8MHz 上限是硬性限制、尤其是当您使用等待状态时、问题似乎就会消失。

    此致、

    James