本机采用串口DMA收发,当不停接收上位机的数据,一旦接收停止,DMA仍不停发送回包,经查此时不断进入HT(发送过半中断)。
请问这段中断处理怎么改才能让它在无接收时停止发送,而不是不停发送?
if( DMA_GetITStatus(DMA2_FLAG_HT5))
{
DMA_Cmd(DMA2_Channel5, DISABLE);
DMA_ClearITPendingBit(DMA2_FLAG_HT5);
USART_DMACmd(BSP_USART_422, USART_DMAReq_Tx, DISABLE);
}
if( DMA_GetITStatus(DMA2_FLAG_HT5))
{
DMA_Cmd(DMA2_Channel5, DISABLE);
DMA_ClearITPendingBit(DMA2_FLAG_HT5);
USART_DMACmd(BSP_USART_422, USART_DMAReq_Tx, DISABLE);
} |