关于RTC的玄学bug分析与解决

电子说

1.3w人已加入

描述

现象:按键长按或者连续按压导致RTC起振异常;

RTC经过的时间读取出来没有变化,或者变化异常

时钟源

发现:经过一下午复现排查后,按键背面为晶振区域;我摁下按键的手法会按压到晶振区域导致晶振异常;人按下按键时未按压到晶振区域.无法复现;

另外该现象体现在如下方面:

使用LSE为时钟源,可能导致初始化失败;看图,BootLoader成功跳转,app初始化错误;

时钟源

这是错误发生位置,APP的时钟初始化;

时钟源

对比APP和BL的时钟初始化以及RTC导致失败的原因分析发现.

bl中仅初始化了HSE,app中还初始化了LSE,使用了RTC硬件资源导致初始化失败

检测使用RTC的时间去处理的函数,例如延时等操作,会一并异常.现象为无法继续运行下去

不在按压RTC器件后,可能现象还会出现,形变还没消失;还会出现上述情况.

得等待结束

总结:

不要接触挤压精密器件部分

硬件布线应考虑布局,按键背面不应该放精密器件。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分