/* USER CODE BEGIN Includes */
uint8_t aRxBuffer[20];/* USER CODE END Includes */
在中断文件中引用接收缓冲数组(extern)
/* USER CODE BEGIN TD */
extern uint8_t aRxBuffer[20];/* USER CODE END TD */
在main与while之间添加中断接收使能函数
/* USER CODE BEGIN 2 */HAL_UART_Receive_IT(&huart1,aRxBuffer,10);/* USER CODE END 2 */
定义接受完成回调函数
/* USER CODE BEGIN 4 *//**
* @brief Rx Transfer completed callbacks.
* @param huart Pointer to a UART_HandleTypeDef structure that contains
* the configuration information for the specified UART module.
* @retval None
*/voidHAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){/* Prevent unused argument(s) compilation warning */UNUSED(huart);/* NOTE: This function should not be modified, when the callback is needed,
the HAL_UART_RxCpltCallback could be implemented in the user file
*/HAL_UART_Transmit(&huart1,aRxBuffer,10,1000);}/* USER CODE END 4 */
在中断函数中添加中断接受使能函数,重新使能接受中断
/**
* @brief This function handles USART1 global interrupt.
*/voidUSART1_IRQHandler(void){/* USER CODE BEGIN USART1_IRQn 0 *//* USER CODE END USART1_IRQn 0 */HAL_UART_IRQHandler(&huart1);/* USER CODE BEGIN USART1_IRQn 1 */HAL_UART_Receive_IT(&huart1,aRxBuffer,10);/* USER CODE END USART1_IRQn 1 */}
/* USER CODE BEGIN Includes */
uint8_t aRxBuffer[20];/* USER CODE END Includes */
在中断文件中引用接收缓冲数组(extern)
/* USER CODE BEGIN TD */
extern uint8_t aRxBuffer[20];/* USER CODE END TD */
在main与while之间添加DMA接收使能函数
/* USER CODE BEGIN 2 */HAL_UART_Receive_DMA(&huart1,aRxBuffer,10);/* USER CODE END 2 */
定义接受完成回调函数
/* USER CODE BEGIN 4 *//**
* @brief Rx Transfer completed callbacks.
* @param huart Pointer to a UART_HandleTypeDef structure that contains
* the configuration information for the specified UART module.
* @retval None
*/voidHAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){/* Prevent unused argument(s) compilation warning */UNUSED(huart);/* NOTE: This function should not be modified, when the callback is needed,
the HAL_UART_RxCpltCallback could be implemented in the user file
*/HAL_UART_Transmit_DMA(&huart1,aRxBuffer,10);}/* USER CODE END 4 */
在中断函数中添加中断接受使能函数,重新使能接受中断
/**
* @brief This function handles USART1 global interrupt.
*/voidUSART1_IRQHandler(void){/* USER CODE BEGIN USART1_IRQn 0 *//* USER CODE END USART1_IRQn 0 */HAL_UART_IRQHandler(&huart1);/* USER CODE BEGIN USART1_IRQn 1 */HAL_UART_Receive_DMA(&huart1,aRxBuffer,10);/* USER CODE END USART1_IRQn 1 */}