在线时间23 小时
UID58398
ST金币232
蝴蝶豆0
注册时间2008-4-9
该用户从未签到
中级会员
- 最后登录
- 2019-4-30
|
请教stm32cubemx 中断发送后直接触发中断接收,发什么就收什么,是不是在发之前要调用以下函数?__HAL_UART_DISABLE_IT(&huart2, UART_IT_RXNE);
禁止掉接收,发送完后开启?我选择的是异步收发。
HAL_UART_IRQHandler()函数的收发不是互斥关系,如下:
tmp_flag = __HAL_UART_GET_FLAG(huart, UART_FLAG_RXNE);
tmp_it_source = __HAL_UART_GET_IT_SOURCE(huart, UART_IT_RXNE);
/* UART in mode Receiver ---------------------------------------------------*/
if((tmp_flag != RESET) && (tmp_it_source != RESET))
{
UART_Receive_IT(huart);
}
tmp_flag = __HAL_UART_GET_FLAG(huart, UART_FLAG_TXE);
tmp_it_source = __HAL_UART_GET_IT_SOURCE(huart, UART_IT_TXE);
/* UART in mode Transmitter ------------------------------------------------*/
if((tmp_flag != RESET) && (tmp_it_source != RESET))
{
UART_Transmit_IT(huart);
}
|
|