你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
wjandsq 发表于 2017-1-23 14:11 HAL库的串口中断函数,并没有认真考虑DMA和空闲中断,非常不专业。
意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器
没有空闲中断确实很棘手
另外,接收完数据,不应该自以为是的关闭串口,应该由用户决定是否关闭。
/* UART in mode Transmitter end --------------------------------------------*/
if(((isrflag & USART_SR_TC) != RESET) && ((crlits & USART_CR1_TCIE) != RESET))
{
UART_EndTransmit_IT(huart);
return;
}
/* UART in mode Receiver end -----------------------------------------------*/
if(((isrflags & USART_SR_IDLE) != RESET) && ((crlits & USART_CR1_IDLEIE) != RESET))
{
/* Clear the UART IDLE pending flag */
__HAL_UART_CLEAR_IDLEFLAG(huart);
return;
}
}