修改中断函数:
- void USART1_IRQHandler(void)
- {
- /* USER CODE BEGIN USART1_IRQn 0 */
- if(__HAL_UART_GET_FLAG(&huart1, UART_FLAG_RTOF))
- {
- __HAL_UART_CLEAR_FLAG(&huart1, UART_CLEAR_RTOF);
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET);
-
- for(int i = 0; i < 8; i ++)
- {
- if(!__HAL_UART_GET_FLAG(&huart1, UART_FLAG_RXFNE))
- {
- break;
- }
- rxBuf[rxCnt++] = USART1->RDR;
- }
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_RESET);
- }
- if(__HAL_UART_GET_FLAG(&huart1, UART_FLAG_RXFT))
- {
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET);
-
- for(int i = 0; i < 8; i ++)
- {
- if(!__HAL_UART_GET_FLAG(&huart1, UART_FLAG_RXFNE))
- {
- break;
- }
- rxBuf[rxCnt++] = USART1->RDR;
- }
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_RESET);
- }
- /* USER CODE END USART1_IRQn 0 */
- HAL_UART_IRQHandler(&huart1);
- /* USER CODE BEGIN USART1_IRQn 1 */
- /* USER CODE END USART1_IRQn 1 */
- }
|