在项目开发初级,调试过程出现BUG是很正常的一件事情,那如何去快速勘察问题也是一名工程师能力的一种体现哦。勘察问题就像医生在治病,警察在找凶手,在找到BUG的那一刻也会有莫名的快感。话扯远了。。。找问题也是有很多方法的,用对方法往往事半功倍。
比如有时候芯片跑着跑着异常复位了,有些朋友可能会慢慢查看代码去找根源,这个方法也可行但是时间可能会花比较多,那有什么更好的办法呢?
我们查看手册可以发现,发生系统复位时除了控制/状态寄存器(RCC_CTRLSTS)中的复位标志和备份域中的寄存器,系统复位会将所有寄存器设置为其复位值。
也就是说复位后,通过查看(RCC_CTRLSTS)寄存器可以看到上一个的复位源。
如果程序可以仿真,那我们直接打开寄存器窗口即可查看,如果不能仿真,那我们通过通讯接口将寄存器值打印出来也可看到,一般都是使用串口。
是不是很方便呢
需要注意的是,每次读完记得清零哦
|