初级会员

- 积分
- 105
- 金钱
- 105
- 注册时间
- 2015-10-5
- 在线时间
- 9 小时
|

楼主 |
发表于 2015-10-16 22:35:40
|
显示全部楼层
回复【3楼】zuozhongkai:
---------------------------------
贴段代码,这里就是UART_Receive_IT的处理,当接受计数为0时则会关闭中断!
if(--huart->RxXferCount == 0)
{
__HAL_UART_DISABLE_IT(huart, UART_IT_RXNE);
/* Check if a transmit process is ongoing or not */
if(huart->State == HAL_UART_STATE_BUSY_TX_RX)
{
huart->State = HAL_UART_STATE_BUSY_TX;
}
else
{
/* Disable the UART  arity Error Interrupt */
__HAL_UART_DISABLE_IT(huart, UART_IT_PE);
/* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
__HAL_UART_DISABLE_IT(huart, UART_IT_ERR);
huart->State = HAL_UART_STATE_READY;
} |
|