完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32掉电时发现,sram里的变量会变,例如有个变量fault=3,在掉电的过程中,fault会变为零。为了解决这个问题,我使用了掉电检测,发现PVD0在掉电的时候也会变来变去,一回为0一回为1。大家遇到过这个问题没有,怎么解决。
|
|
相关推荐
9个回答
|
|
邀请回答
如果想要变量在掉电时保存,则必须要在掉电前把变量先存到片内FLASH或者片外FLASH(W25QXX)或者片外EEPROM(如AT24C02)里面; PWR和BKP时钟记得开了吗?RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); 掉电检测时PVD0不应该变来变去的,你查一下Vdda的电压是否正确,实验证明Vdda连着的电压修改为2.5V时能得到想要的结果。 |
|
|
|
建议把不想掉电擦除的数据存储在外部存储器flash,eeprom等等
|
|
|
|
|
|
|
|
SRAM本身就是掉电掉数据的,要想保存数据,需要将数据存入EEPROM或者flash中
|
|
|
|
|
|
|
|
電壓開始降低時候,就會造成MCU不正常工作,所以PVD0您要確保ISR觸發是正確設置且啟用狀態
SRAM上的變數一定不會保存的,所以您可以在PVD0觸發的ISR中即時保存數據到Flash中 以上供參考 |
|
|
|
SRAM掉电清零这是硬件就这么设定的,你要想掉电恢复的话就要写到flash
|
|
|
|
|
|
|
|
云汉达人
恭喜楼主又发现新大陆了,开玩笑啦!首先sram是什么应该不用说了吧,百度一下便知道,而他本身就是掉电不能保存数据的,所以掉电后变量值变成了0也不奇怪,因为掉电后程序 又重新从头开始初始化了,如果要让变量实现掉电存储,可以利用MCU内部backup SRAM(掉电后由RTC电池供电),但是如果没有接RTC电池的话,你也可以将参数保存到片内FLASH中,或者外接FLASH存储芯片,上电后从FLASH中读取参数。下面帮你搜集了几份资料,仅供参考! stm32Flash模拟eeprom心得(原创) STM32-读写-EEPROM-24C02方法 STM32系统保存参数到eeprom的实现方法 |
|
|
|
只有小组成员才能发言,加入小组>>
695 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
653浏览 9评论
649浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
781浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 12:02 , Processed in 1.437567 second(s), Total 118, Slave 98 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号