你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32调试与正常运行问题,RTC不实时更新问题

[复制链接]
西奥伟 提问时间:2018-10-16 15:13 /
本帖最后由 西奥伟 于 2018-10-17 13:34 编辑

咨询一下大家,是否在开发中也遇到过这样类似的问题,这里我先描述一下问题,我想通过RTC来实时获取我当前操作打开智能锁的操作时间,但是,在这个RTC_GetDateTime函数中获取到的参数Current的值,若像图一中打断点调试,最后,操作锁的时间Current的值只有time中的SubSeconds改变;若像图二中,在RTC_GetDateTime函数里面的两个函数分别打断点,就能够获取到当前实际操作锁具的时间。也就是说正常运行,当前时间一直就是上一次的值,没有实时改变,得出来的不是实时值。请教一下论坛的朋友们,是否遇到过这样的问题?

图一

图一

图二

图二

收藏 评论2 发布时间:2018-10-16 15:13

举报

2个回答
wenyangzeng 回答时间:2018-10-16 15:57:43
其实要确定执行时间,直接使用读定时器读计数值比用RTC方便多了,读RTC时执行代码够多,还需要等到秒中断到了才更新计数值。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

西奥伟 回答时间:2018-10-17 13:31:28
本问题已解决,查看RTC寄存器,RTC的寄存器的值是在实时改变的,但是,首先是RTC_TR寄存器(设置时间),然后是RTC_DR寄存器(设置日期),所以,应该先设置RTC的时间更新HAL_RTC_GetTime,然后再设置RTC的日期更新HAL_RTC_GetDate,最后,就能够解决HAL库中RTC时间更新不正确的问题了。

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版