工具/软件:Code Composer Studio
我正在调查 RAM 剩余容量。 我了解到、在 LPM3中、我们可以通过在 RCCTL0中为特定 RAM 扇区设置 RSxOFF=1来关闭 RAM 保持。 因此、该扇区中的数据将在 LPM3期间丢失。 但是、一旦系统退出 LPM3、RAM 会发生什么情况? 有两种可能的结果。
(案例1)它只是显示为它的样子。 如果我们以二进制形式查看 RAM、它应该由零和一组成、因为每个 SRAM 单元可以随机翻转为1或0。
(案例2)一旦退出 LPM 并且扇区再次上电、系统将自动初始化扇区0。
我做了实验、结果显示案例2是我所发生的情况。 系统用0自动初始化扇区。
int main (void){ WDT_A_HOLD (WDT_A_base); initClock(); initGPIO(); ////*在 LPM3中禁用 RAM 保持*/ RAM_setSectorOff (RAM_SECTOR2、RAM_OFF_ON_WAKEUP_MODE); initTimer_WakeupLPM ();//将计时器设置为运行1秒,它将通过中断退出 LPM3 Timer_A_startCounter (timer_A1_base、timer_A_up_mode);//启动计时器 _bis_SR_register (LPM3_bits + GIE);//输入 LPM __no_operation();//检查内存浏览器中扇区2的 RAM 内存 返回(0); }// 计时器函数,initClock(),initGPIO()……
如何使案例1发生? 我需要研究 RAM 剩余的行为、因此我需要案例1的结果。
谢谢、
Yubo