打印
[技术问答]

请教RTC没电复位的问题

[复制链接]
1107|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eyu66|  楼主 | 2022-4-19 13:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用M451的芯片,启用了RTC,有时因为电池没电了,再次运行时会卡在这个while循环里,哪位高手指点一下该如何操作?
RTC->RWEN = RTC_WRITE_KEY;
while((RTC->RWEN & RTC_RWEN_RWENF_Msk) == 0x0);

使用特权

评论回复
沙发
caoqing| | 2022-4-19 17:30 | 只看该作者
超时跳转啊

使用特权

评论回复
板凳
eyu66|  楼主 | 2022-4-19 19:16 | 只看该作者

好的,谢谢!

使用特权

评论回复
地板
kiwis66| | 2022-4-20 09:50 | 只看该作者
这种情况怎么发生呢?
不放电池貌似都能过去

使用特权

评论回复
5
eyu66|  楼主 | 2022-4-20 13:02 | 只看该作者
kiwis66 发表于 2022-4-20 09:50
这种情况怎么发生呢?
不放电池貌似都能过去

按理是应该都能过去的,不就是一个寄存器置位嘛,但是奇怪的是当RTC正常运行后,如果没电了(包括电池),再次启动的时候它就是卡在这里,使能不了RTC寄存器,我试了两块板都这样。

使用特权

评论回复
6
foxsbig| | 2022-4-21 15:40 | 只看该作者
没电了,不是回到初始状态么?

使用特权

评论回复
7
kiwis66| | 2022-4-22 13:28 | 只看该作者
可能应用有些差异,平时测试的时候,都是不放电池的

使用特权

评论回复
8
tail066| | 2022-4-24 16:22 | 只看该作者
不太确定,一般不会这样的

使用特权

评论回复
9
eyu66|  楼主 | 2022-4-25 12:33 | 只看该作者
折腾了一下午,不断的加代码,减代码,改代码,最后找到了问题点。
感觉新唐的技术太少了,有了问题几乎没处问,厂家不在大陆没法电话沟通,网上没有解决问题的资料,代理商只管卖不管答,只能靠一个论坛碰下运气,如果没人回答就只能自己摸索,比起STM32一搜一大把的案例,实在是差太远了。
不过这也有个好处,用的人少货源就比较稳定,就算涨价也不会涨上天,正所谓有所得就有所失吧。
下面说说我的处理思路:
第1步. 在解锁RTC寄存器时加定时控制,如果一定时间内解锁不成功则退出等待(这里就是卡住的地方)。
第2步. RTC_INIT (INIR [31:0]) 重新写入 0xa5eb1357
第3步. 复位芯片

这也许不是这个问题的最佳解决方法,只能用来应付。如果哪位网友有更好的意见,还望不吝告知,大家一起进步。

使用特权

评论回复
10
B1lanche| | 2022-6-20 14:23 | 只看该作者
没电了就换电池嘛

使用特权

评论回复
11
Allison8859| | 2022-6-20 14:48 | 只看该作者
正常来说,没电应该时间不准,但是你这不好使就尴尬了

使用特权

评论回复
12
Emily999| | 2022-6-20 15:06 | 只看该作者
你查查数据手册,看看怎么改比较好

使用特权

评论回复
13
Belle1257| | 2022-6-22 07:50 | 只看该作者
这while里是什么意思呢?

使用特权

评论回复
14
Annie556| | 2022-6-22 08:18 | 只看该作者
估计你得找个技术支持看看,这种都是不太常见的

使用特权

评论回复
15
carpsnow| | 2022-7-8 21:49 | 只看该作者
你说的复位是?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

233

帖子

2

粉丝