初级会员

- 积分
- 129
- 金钱
- 129
- 注册时间
- 2015-10-8
- 在线时间
- 18 小时
|
1金钱
如题目所示,改RXBUFFERSIZE=2后,串口助手有发送无接收,说明没有中断了?
另外,UART_Receive_IT()函数中, if(--huart->RxXferCount == 0)
{/* Disable the UART Parity Error Interrupt and RXNE interrupt*/
CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
/* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
/* Rx process is completed, restore huart->RxState to Ready */
huart->RxState = HAL_UART_STATE_READY;
HAL_UART_RxCpltCallback(huart);
}
可是我看了许久,只有当RXBUFFERSIZE=1时,这个条件起作用,可以进入HAL_UART_RxCpltCallback(huart);如果我设RXBUFFERSIZE=2,因为--huart->RxXferCount == 1,所以永远进不了HAL_UART_RxCpltCallback(huart);
是这样不?
|
|