test using dma send adc datas in buffer, via uart

This commit is contained in:
不吃油炸鸡
2025-08-18 14:12:57 +08:00
parent 19b181cb0e
commit 60551d17a6

View File

@@ -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.
*/