STM32的SRAM电压低于多少数据会清零

2019-03-23 16:09发布

用STM32F101RC的PVD(阀值2.9V)掉电检测功能来保存一些数据进24C16中!
现象是这样的:
当我不停的给电路上下电,大部分时间存入数据是没有问题的,但是偶尔会出现存入数据全为0的现象,一开始我分析是电源电压跌落太快,导致EEPROM擦写时间不够引起的错误,我用示波器观察电压跌落情况,发现电压从(2.9--2.0V)大概有25MS的时间,时间足够擦写EEPROM了!排除时间问题!然后自然而然就想到数据本身的问题,我又做了如下实验
本来我的数据都是变量形式的例如:
cunchu[0]=LeiJiZhongLiang[DangQianPeiFang];//àÛ¼ÆÖØá¿
Write_24c16(0xA4,0x0C,0,cunchu);
delay(10000);、//3MS

后来我改成定值方式存储:
cunchu[0]=0x01;//àÛ¼ÆÖØá¿
Write_24c16(0xA4,0x0C,0,cunchu);
delay(10000);//3ms

发现用定值存储数据不会发生错误!所以我怀疑是在进入PVD中断里面的时候,由于电压跌落导致SRAM中的数据都清成0,除了加大电容还有什么办法没?SRAM保持电压不能低于多少?

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
程序会不会
1楼-- · 2019-03-24 00:00
/ 补充一点:原因就是要存入变量都变为了0
Li_Lei
2楼-- · 2019-03-24 00:03
你这个最好是用备份寄存器,低压操作flash很不可靠,
备份寄存器就是专门干这个的.
chunyang
3楼-- · 2019-03-24 03:46
 精彩回答 2  元偷偷看……

一周热门 更多>