我的F4里面这样:
__HAL_UART_DISABLE_IT(&UART1_Handler,UART_IT_RXNE);
HAL_UART_Transmit(&UART1_Handler,&mb_buf_out,6,100); __HAL_UART_ENABLE_IT(&UART1_Handler,UART_IT_RXNE);
HAL_UART_Receive_IT(&UART1_Handler,&RxData, 1);
F1里面这样:
__HAL_UART_DISABLE_IT(&huart2,UART_IT_RXNE);
HAL_UART_Transmit(&huart2,&i,1,100);
__HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE);
HAL_UART_Receive_IT(&huart2,&aRxBuffer,1);
谢谢分享,解决了我一个困惑很久的问题。原本串口也是使用查询发送和中断接收,但是在有接收的同时进行发送,就会导致死锁,然后再也进不去中断。将中断接收改为DMA接收解决了这个问题。 wenyangzeng 发表于 2017-11-16 21:43
主函数加入:__HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE);
就可以不断进入中断了。
我试了不行,你们这样就可以吗? 在发送、接收之前关闭中断__HAL_UART_DISABLE_IT(&huart2,UART_IT_RXNE);在之后再打开中断__HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE);就好了
页:
1
[2]