我遇到的问题:
程序下载到实验板后,我的手一伸到板子的某处区域的上方,板子就死机了,板子上做了一秒闪烁一次的主板LED小灯也不闪烁了,停止了。
查找问题:
怀疑是板子上连接的杜邦线太多太乱,其中有短路造成。然后拔掉了所有杜邦线,但问题依旧。
怀疑是面包板坏了,有些区域联通了,短接了,造成死机。然后去掉了面包板,但问题依旧。
问题解决:
在keil中下载一次程序后,再进入仿真。然后手伸到板子某处区域的上方,板子死机。
重点!!!此时,点击红色x号,退出仿真,keil就会停留在死机处的对应代码那里!!!
顺利找到原因:
我写了UART2中断,但是中断里面忘记写清除中断标志位了。然后我的手一伸到板子的UART2相关引脚的上方,单片机受到干扰,就误以为UART2有数据接收,然后进入接收中断函数,然后就出不来了。。。
经验:
单片机死机,优先查看中断函数,先怀疑是不是死在中断里出不来了。
Keil仿真,在死机时,点击红色x号退出仿真,keil会停留在最后仿真的区域,即死机对应的代码处。
(仿真前,记得先下载一次程序。)



