项目由于低功耗要求,需要采用低功耗STANDBY模式。但由于业务过程中需要有数据及时存储,STANDBY重启会导致数据清空,只有SRAM2可以保存。 现求助大神们,如何使用备用RAM(SRAM2)进行数据存储。最好是有例程,谢谢! 问题1: __attribute__((at(0xxxxxxxx))) uint8_t buff[1024]; 在 MDK 环境下这样就可以把数组定义到指定的地址了。 我用了绝对定位写RAM2,但是在STANDBY唤醒后,值就清零了。使用了HAL_PWREx_EnableSRAM2ContentRetention();保存也不行。 问题2: STANDBY模式下,唤醒后MCU重启RTC时钟初始化,导致每次唤醒后时钟数值都归零。 如何保证RTC在STANDBY模式下一直运行,不会被初始化。 |