diff --git a/Power_Pico/Core/Src/stm32f4xx_it.c b/Power_Pico/Core/Src/stm32f4xx_it.c index 9a49806..1baafad 100644 --- a/Power_Pico/Core/Src/stm32f4xx_it.c +++ b/Power_Pico/Core/Src/stm32f4xx_it.c @@ -23,6 +23,7 @@ /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "usart.h" +#include "adc.h" /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ @@ -60,6 +61,7 @@ extern DMA_HandleTypeDef hdma_adc1; extern DMA_HandleTypeDef hdma_spi2_tx; extern TIM_HandleTypeDef htim1; extern DMA_HandleTypeDef hdma_usart6_rx; +extern DMA_HandleTypeDef hdma_usart6_tx; extern UART_HandleTypeDef huart6; extern TIM_HandleTypeDef htim11; @@ -200,7 +202,14 @@ void TIM1_TRG_COM_TIM11_IRQHandler(void) void DMA2_Stream0_IRQHandler(void) { /* USER CODE BEGIN DMA2_Stream0_IRQn 0 */ - + if(__HAL_DMA_GET_FLAG(&hdma_adc1, DMA_FLAG_TCIF0_4)) { + __HAL_DMA_CLEAR_FLAG(&hdma_adc1, DMA_FLAG_TCIF0_4); + HAL_ADC_Stop_DMA(&hadc1); + // 填充帧头 + adc_packet1.header[4] = 0x10; + HAL_UART_Transmit_DMA(&huart6, (uint8_t *)&adc_packet1, sizeof(adc_packet1)); + // HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buf1, ADC_TIMES * ADC_CHANELS); + } /* USER CODE END DMA2_Stream0_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_adc1); /* USER CODE BEGIN DMA2_Stream0_IRQn 1 */ @@ -222,6 +231,20 @@ void DMA2_Stream1_IRQHandler(void) /* USER CODE END DMA2_Stream1_IRQn 1 */ } +/** + * @brief This function handles DMA2 stream6 global interrupt. + */ +void DMA2_Stream6_IRQHandler(void) +{ + /* USER CODE BEGIN DMA2_Stream6_IRQn 0 */ + + /* USER CODE END DMA2_Stream6_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart6_tx); + /* USER CODE BEGIN DMA2_Stream6_IRQn 1 */ + + /* USER CODE END DMA2_Stream6_IRQn 1 */ +} + /** * @brief This function handles USART6 global interrupt. */