STM32F103串口接收中断溢出问题分析
本人目前正在做的机器人项目中,存在如下问题:
1、小车舵机容易烧毁
分析原因:舵机不能堵转,堵转电流瞬间变大,将舵机烧毁,怀疑舵机质量问题以及存在舵机连杆机构不顺滑导致堵转的问题。
2、小车手动模式能够正常长时间运行,一旦上位机bringup指令启动,建图dzhdmap指令启动,就会存在小车底层驱动板死机的情况,仔细分析了一下,程序死机停止在串口接收中断处,说明程序运行一段时间后,如果上位机一直给底层驱动板发送数据,会存在串口接收中断溢出的情况,
程序未修改之前的代码如下:
int USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收到数据
{
u8 temp;
static u8 count,last_data,last_last_data,Usart_ON_Count;
if(Usart_ON_Flag==0)
{
if(++Usart_ON_Count>10)Usart_ON_Flag=1;
}
temp=USART1->DR;
if(Usart_Flag==0