如何排查GD32 MCU复位是由哪个复位源导致的?

描述

上期为大家讲解了GD32 MCU复位包括电源复位和系统复位,其中系统复位还包括独立看门狗复位、内核软复位、窗口看门狗复位等,在一个GD32系统中,如果莫名其妙产生了MCU复位,如何排查具体是由哪个复位源导致的呢?

GD32 MCU贴心的为大家提供了一个查看复位源的寄存器,如下图所示,该寄存器的bit26-bit31显示各种复位状态,其中LPRSTF表示发生过低功耗复位、WWDGTRSTF表示发上过窗口看门狗复位、FWDGTRSTF表示发生过独立看门狗复位、SWRSTF表示发生过系统软复位、PORRSTF表示发生过POR电源复位、EPRSTF表示发生过NRST引脚复位,这几个状态标志位为只读标志位,如果希望清除复位标志,可以通过置位bit24 RSTFC控制位实现。

复位

 

那么该寄存器该如何使用进行查看异常复位源呢?

建议大家在主函数入口处先检查复位源寄存器,之后将产生的复位标志通过串口打印出来,然后再清除所有的复位源。第一次上电后会将所有的复位源全部清除,等下次产生异常复位后,将会通过串口打印产生复位的复位源,此复位源即为实际产生异常复位的源头。

以上即为本期讲解,如有问题或建议,欢迎评论区讨论。

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

全部0条评论

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

×
20
完善资料,
赚取积分