今天在调试STM32的时候遇到了两个问题 遇到的问题及解决方法如下 希望能给大家帮助。
1.串口发送函数卡在了这里
卡在了下面的那个while()处,一直调试也没有结果。由于程序内部加入了独立看门狗,使得芯片一直复位。很长时间未找到原因。
后经过分析代码,发现原来此串口的初始化函数没有运行,而后直接调用了这句话,导致形成死循环。解决方法很简单,在初始化函数部分加入此串口的初始化代码,程序得以正常运行。
2.同样是陷入了死循环。
在调试的时候,挂上仿真器 发现总是卡在这一个位置,很奇怪。按照正常来说,是不会卡在这个位置上的。后来在网上查资料,寻找到了原因及解决方案。其实也是写代码的时候疏忽了。本来串口4的中断函数为UART4_IRQHandler,而之前对其它代码的复制粘贴,误将此处中断服务函数写成了这个:USART4_IRQHandler,将中断服务函数改写正常后,程序正常运行。
其实都是由于大意所致。以后在写代码的时候要多进行检查。