stm32关于莫名进硬件中断,串口发数卡死等原因的其中之一

来源:互联网 发布:ubuntu查看磁盘分区 编辑:程序博客网 时间:2024/06/03 19:51

最近在搞stm32中,无缘无故的莫名其妙的出现了各种bug,硬件中断,卡死在串口发送的循环中等等,经过两天的不断排查,发现了问题所在。


有时候会卡在while((USART1->SR&0X40)==0);这个循环中(如上图),有时候会卡在硬件中断里。但是现象并不是出现每次都相同,所以不太好确定问题所在。

之后最后才发现,是芯片的flash选错了。

准确的说,是在keil不稳定崩溃之后,keil本身的设置,即Options for Targets→Device中的芯片选择回到了默认选择,所以出现了奇奇怪怪的现象。经查证,改过来之后没有再出现上述情况。