/******************************************************************************************
*** 函数名称: HAL_UART_ErrorCallback
*** 输入参数: 无
*** 返 回 值: 无
*** 说 明:故障回调-查看故障状态
*** 调度时间:无
*** 编者 时间 版本
*** XXXZ XXXX/XX/XX V0.1
******************************************************************************************/
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
{
if(huart->Instance == UART4) //判断串口错误回调函数,串口是否为IAP串口函数
{
if(__HAL_UART_GET_FLAG(UART_IAP, UART_FLAG_ORE) != RESET) //串口过载错误,清零标志并且重新打开串口接收中断
{
__HAL_UART_CLEAR_OREFLAG(UART_IAP);
}
__HAL_UART_ENABLE_IT(UART_IAP,UART_IT_RXNE); //接收中断使能,自己可以判断接收标志,第一种中断方式
__HAL_UART_CLEAR_FLAG(UART_IAP,UART_FLAG_RXNE); //清除接收标志
}
}
|