我用DMA+USART接收,回调函数中想看看是不是能处理 接收完成、半完成和空闲,但是半完成和空闲分支完全进不去。
debug时,空闲能进。请大拿帮忙解释一下,谢谢!
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
{
if( huart->Instance == USART1 )
{
if( RESET !=(__HAL_UART_GET_FLAG(huart, UART_FLAG_TC)))
{
__HAL_UART_CLEAR_FLAG(huart, UART_FLAG_TC);
u1RxCplt**++;
}
if(SET == __HAL_DMA_GET_IT_SOURCE(&hdma_usart1_rx,DMA_IT_HT))
{
u1RxHlf**++;
return;
}
if(RESET != __HAL_UART_GET_FLAG(huart,UART_FLAG_IDLE))
{
__HAL_UART_CLEAR_FLAG(huart, UART_FLAG_IDLE);
u1Rxidl**++;
}
}
|