请问串口错误怎么恢复?

2019-07-14 14:46发布

芯片STM32F0系列的。调试的时候,板子进入某个断点,而PC端一直在发串口数据,这个时候只要再按F10就会跑到串口中断里面,但是不一定是收数据,也不知道串口的什么标记置位了,在串口状态寄存器有好多错误标记都置位了。
错误原因估计是中断的时候串口的硬件缓存区溢出了或什么的,反正它知道有很多数据没有来得及接收。
请问下这个时候怎么恢复串口,有库函数吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
山川1998
2019-07-15 01:37
库函数 和 寄存器都有 防止串口溢出错误的。
比如放2个进去
   if(USART_GetITStatus(USART1, USART_IT_TXE) != RESET)            
//    {
//        USART_ITConfig(USART1, USART_IT_TXE, DISABLE);                  
//    }

//    if(USART_GetFlagStatus(USART1,USART_FLAG_ORE)==SET)
//    {
//        USART_ClearFlag(USART1,USART_FLAG_ORE);        
//        USART_ReceiveData(USART1);                                
//    }

一周热门 更多>