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:在应用程序中重新初始化变量?

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/911152/msp430fr2355-re-initializing-variables-in-application

器件型号:MSP430FR2355

我在 main 之外定义了全局变量...在 main 内运行特定代码块,然后  

WDCTL = 0xDEAD;

这将重置器件。  我可以看到我的所有配置都已完成、但我注意到全局变量未重新初始化为以前的设置。  如何操作?

例如、我有一个全局变量定义为:

volatile boolean transmitter = F;

运行代码此 Get 设置为 T 后、我希望看门狗的错误密码将重置为 main 的开头(它是这样做的)、并将所有变量重置为其初始值?

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

    变量由应在复位后运行的 C 运行时库代码初始化。 我想库可以检查、只能对某些类型的复位执行检查、但我从未听说过这样的事情。

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

    您好、Steve、

    您是否曾尝试过这种方法?  这是在调试期间发生的吗?   

    尝试通过复位和 LPMx.5模式进行调试可能会稍有不同。  调试时、调试器主动与 CPU 内核接触。  这意味着某些计时和操作在调试和不调试时的行为可能有所不同。   

    您可以尝试"自由运行"您的器件、这将允许 CPU 正常运行、但也会忽略所有断点。  您可以自由运行、完成例行程序并循环捕捉您的自我、然后暂停并检查。   

    希望这对您有所帮助。

    JD