OpenEdv-开源电子网

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

求开发板的运行时间

[复制链接]

39

主题

535

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
1065
注册时间
2018-3-27
在线时间
378 小时
发表于 2018-7-25 08:55:30 | 显示全部楼层 |阅读模式
10金钱
我现在用TIM4做一个5秒定时,中断里变量time_cnt++
可以得到:天数=time_cnt*5/60/60/24      小时=(time_cnt*5/60/60)%24     分钟=(time_cnt*5/60)%60
这样可以得到开发板本次上电的时间,并在lcd屏上显示出来




现在我想要得到开发板运行的总时间,就是每次上电的时间加起来,我应该怎么做?求思路

最佳答案

查看完整内容[请看2#楼]

可以使用STM32的BKP备份寄存器功能,不过要求芯片加后备电池。 将你需要累加的时间数据放到后备寄存器区域内,也是每到了5ms就加,不过后备寄存器的操作要复杂一点。而后备寄存器的数据断电、复位都不会丢失(后备电池有电时),可以达到楼主所说的目的。 当然,外接一个EEPROM存放这个时间值也是可以的,但是EEPROM读写速度较慢,多个字节的话5ms不一定够它写完;如果用SPI flash的话又容易遇到写平衡的问题,不如使用后备 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2018-7-25 08:55:31 | 显示全部楼层
可以使用STM32的BKP备份寄存器功能,不过要求芯片加后备电池。

将你需要累加的时间数据放到后备寄存器区域内,也是每到了5ms就加,不过后备寄存器的操作要复杂一点。而后备寄存器的数据断电、复位都不会丢失(后备电池有电时),可以达到楼主所说的目的。

当然,外接一个EEPROM存放这个时间值也是可以的,但是EEPROM读写速度较慢,多个字节的话5ms不一定够它写完;如果用SPI flash的话又容易遇到写平衡的问题,不如使用后备寄存器的方法省时省力省钱。
十六进制带我飞。
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2018-7-25 09:00:26 | 显示全部楼层
一直累加 存储  
回复

使用道具 举报

39

主题

535

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
1065
注册时间
2018-3-27
在线时间
378 小时
 楼主| 发表于 2018-7-25 09:01:41 | 显示全部楼层

怎么存储?
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2018-7-25 09:04:43 | 显示全部楼层

你猜      
学无止境
回复

使用道具 举报

39

主题

535

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
1065
注册时间
2018-3-27
在线时间
378 小时
 楼主| 发表于 2018-7-25 09:06:56 | 显示全部楼层

我板子上只有一个at24c64,可是有擦除次数限制,不能得到一个time_cnt就写啊
回复

使用道具 举报

39

主题

535

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
1065
注册时间
2018-3-27
在线时间
378 小时
 楼主| 发表于 2018-7-25 09:20:02 | 显示全部楼层
DreamWaterPro 发表于 2018-7-25 09:13
可以使用STM32的BKP备份寄存器功能,不过要求芯片加后备电池。

将你需要累加的时间数据放到后备寄存器区 ...

嗯,谢谢,我试试。是5秒一次...
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2018-7-25 09:22:43 | 显示全部楼层
qiuzhicheng 发表于 2018-7-25 09:20
嗯,谢谢,我试试。是5秒一次...

啊不好意思看错了。。。
十六进制带我飞。
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4521
金钱
4521
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-25 18:34:35 | 显示全部楼层
都用不到RTC,
使用SYSTICK累计每次开机时间,
用备份寄存器存储
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

39

主题

535

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
1065
注册时间
2018-3-27
在线时间
378 小时
 楼主| 发表于 2018-7-26 08:09:48 | 显示全部楼层
warship 发表于 2018-7-25 18:34
都用不到RTC,
使用SYSTICK累计每次开机时间,
用备份寄存器存储

你说的系统滴答定时器我没实现成功,我用的通用定时器
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 22:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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