完成串口初始化,之后再设置中断优先级。如果在这两个步骤间串口有数据传入,则
单片机死机。
为了进一步测试,单独写了一段程序,用于测试串口2
程序非常简单,串口初始化完成后加入10S延时,在延时期间给串口发数据,10S后设置中断优先级。串口的中断服务函数是收到一个数据就发送出来,且在函数最后清除所有的中断标志位。如果单片机没有死机则完成中断优先级设置后进入循环,循环里面是闪LED。
现象是:每次都死机,死机后串口就一直发送同一个数据,从
仿真看是死在中断函数里面。
猜想:
STM32的其他外设也有同样问题。未测试。
2)使能串口和 GPIO 口时钟。
3) GPIO 口初始化设置(速度,上下拉等)以及复用映射配置。
4)开启串口相关中断,配置串口中断优先级。
5)编写中断服务函数。
6) 串口数据接收和发送。
以上是我从STM32开发datesheet中里面写的串口中断编程步骤,没毛病,看到你的步骤不是按照这样配。就出现死机
一周热门 更多>