[技术问答]

请教RTC没电复位的问题

[复制链接]
550|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 | 显示全部楼层
这种情况怎么发生呢?
不放电池貌似都能过去

使用特权

评论回复
eyu66|  楼主 | 2022-4-20 13:02 | 显示全部楼层
kiwis66 发表于 2022-4-20 09:50
这种情况怎么发生呢?
不放电池貌似都能过去

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

使用特权

评论回复
foxsbig| | 2022-4-21 15:40 | 显示全部楼层
没电了,不是回到初始状态么?

使用特权

评论回复
kiwis66| | 2022-4-22 13:28 | 显示全部楼层
可能应用有些差异,平时测试的时候,都是不放电池的

使用特权

评论回复
tail066| | 2022-4-24 16:22 | 显示全部楼层
不太确定,一般不会这样的

使用特权

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

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

使用特权

评论回复
B1lanche| | 2022-6-20 14:23 | 显示全部楼层
没电了就换电池嘛

使用特权

评论回复
Allison8859| | 2022-6-20 14:48 | 显示全部楼层
正常来说,没电应该时间不准,但是你这不好使就尴尬了

使用特权

评论回复
Emily999| | 2022-6-20 15:06 | 显示全部楼层
你查查数据手册,看看怎么改比较好

使用特权

评论回复
Belle1257| | 2022-6-22 07:50 | 显示全部楼层
这while里是什么意思呢?

使用特权

评论回复
Annie556| | 2022-6-22 08:18 | 显示全部楼层
估计你得找个技术支持看看,这种都是不太常见的

使用特权

评论回复
carpsnow| | 2022-7-8 21:49 | 显示全部楼层
你说的复位是?

使用特权

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

本版积分规则