OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2797|回复: 14

求助大家

[复制链接]

21

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2333
金钱
2333
注册时间
2017-12-11
在线时间
496 小时
发表于 2018-12-23 21:56:17 | 显示全部楼层 |阅读模式
我使用STM32的掉电中断来用24C02保存数据,可是这个只能保存一个,时间太短了,按照论坛里地帖子在开发板的GND和VCC之间加了一个470UF的电容,加上后居然都进不了中断了,不知道是什么原因?有哪位朋友能看下嘛?万分感谢!
0001.jpg
002.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2333
金钱
2333
注册时间
2017-12-11
在线时间
496 小时
 楼主| 发表于 2018-12-24 13:40:12 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

231

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2872
金钱
2872
注册时间
2018-1-24
在线时间
258 小时
发表于 2018-12-24 13:54:06 | 显示全部楼层
掉电后,24C02能坚持多久,你算过没有
回复 支持 反对

使用道具 举报

21

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2333
金钱
2333
注册时间
2017-12-11
在线时间
496 小时
 楼主| 发表于 2018-12-24 13:59:37 | 显示全部楼层
bebj2009 发表于 2018-12-24 13:54
掉电后,24C02能坚持多久,你算过没有

串口打印只能 printf 3次
24c02 能存 2 次
回复 支持 反对

使用道具 举报

1

主题

231

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2872
金钱
2872
注册时间
2018-1-24
在线时间
258 小时
发表于 2018-12-24 15:53:41 | 显示全部楼层
噢,明白了,你说进不去中断,是因为你的MCU根本没法进中断,因为断电后有电容还能坚持工作,你要达到的效果是在某一时刻突然断电,MCU首先检测到断电进入低功耗模式,然后由于电容开先存电,所以低功耗模式下还能工作,这时开始写24C02,所以你要把中断源搞清楚,必须MCU最优先检测到才行啊
回复 支持 反对

使用道具 举报

21

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2333
金钱
2333
注册时间
2017-12-11
在线时间
496 小时
 楼主| 发表于 2018-12-25 12:15:10 | 显示全部楼层
bebj2009 发表于 2018-12-24 15:53
噢,明白了,你说进不去中断,是因为你的MCU根本没法进中断,因为断电后有电容还能坚持工作,你要达到的效 ...

现在能进中断了,但是来不及保存数据,或者说 时间很短
回复 支持 反对

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2018-12-25 12:31:44 | 显示全部楼层
是什么应用一定要断电保存呢?不能实时保存吗?
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-12-25 12:41:24 | 显示全部楼层
1.24c02也需要电 看看24c02供电是vcc 还是5v
2.按保存的数据量加大电容
3.让别人看代码你倒是方式pvd的初始化代码呀
4.是在不行flash模拟eeprom,提前扇区清除好,掉电就写
5.还是不够时间,那就优化储存的变量 减少长度试试
回复 支持 反对

使用道具 举报

21

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2333
金钱
2333
注册时间
2017-12-11
在线时间
496 小时
 楼主| 发表于 2018-12-25 15:06:47 | 显示全部楼层
d1z1y2 发表于 2018-12-25 12:31
是什么应用一定要断电保存呢?不能实时保存吗?

实时保存 储存器寿命扛不住
回复 支持 反对

使用道具 举报

21

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2333
金钱
2333
注册时间
2017-12-11
在线时间
496 小时
 楼主| 发表于 2018-12-25 15:09:27 | 显示全部楼层
nashui_sx 发表于 2018-12-25 12:41
1.24c02也需要电 看看24c02供电是vcc 还是5v
2.按保存的数据量加大电容
3.让别人看代码你倒是方式pvd的初 ...

vcc 供电的。我在vcc和GND之间加了470uf的电容,没有效果、
代码在楼下
回复 支持 反对

使用道具 举报

21

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2333
金钱
2333
注册时间
2017-12-11
在线时间
496 小时
 楼主| 发表于 2018-12-25 15:10:33 | 显示全部楼层
代码如下
截图未命名.jpg
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-12-25 17:15:09 | 显示全部楼层

PWR_PVDLevelConfig(PWR_PVDLevel_2V9); // 设定监控阀值高点 2.6太低了

EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;//电压跨越阀值时产生中断,注意方向是反的  
                //EXTI_Trigger_Rising        ---表示电压从高下降到低于设定阀值时产生中断;
                //EXTI_Trigger_Falling       ---表示电压从低上升到高于设定阀值时产生中断;
                //EXTI_Trigger_Rising_Falling---表示电压上升或下降越过设定阀值时都产生中断。

用EXTI_Trigger_Rising_Falling小心上电也写
回复 支持 反对

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2018-12-25 22:20:40 | 显示全部楼层
白纸扇001 发表于 2018-12-25 15:06
实时保存 储存器寿命扛不住

加了RTC后备电池没有?如果有的话,试试备份寄存器保存,再定时存到24c02
回复 支持 反对

使用道具 举报

21

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2333
金钱
2333
注册时间
2017-12-11
在线时间
496 小时
 楼主| 发表于 2018-12-26 12:11:06 | 显示全部楼层
nashui_sx 发表于 2018-12-25 17:15
PWR_PVDLevelConfig(PWR_PVDLevel_2V9); // 设定监控阀值高点 2.6太低了

EXTI_InitStructure.EXTI_Tr ...

这个后来我也改成2.9,EXTI_Trigger_Rising  了,还是没有效果
回复 支持 反对

使用道具 举报

21

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2333
金钱
2333
注册时间
2017-12-11
在线时间
496 小时
 楼主| 发表于 2018-12-26 12:12:12 | 显示全部楼层
d1z1y2 发表于 2018-12-25 22:20
加了RTC后备电池没有?如果有的话,试试备份寄存器保存,再定时存到24c02

不能采用电池的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 23:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表