1K
/* Includes ------------------------------------------------------------------*/ #include "main.h" #include<stdio.h> #include<string.h> /* Private variables ---------------------------------------------------------*/ ADC_HandleTypeDef hadc1; DMA_HandleTypeDef hdma_adc1; UART_HandleTypeDef huart1; /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_DMA_Init(void); static void MX_ADC1_Init(void); static void MX_USART1_UART_Init(void); /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ char MSG[50]; uint16_t ADC_VAL[2]; volatile int adcConvertionComplete=0; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { adcConvertionComplete=1; HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, 0); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, 1); } /* USER CODE END 0 */ int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_DMA_Init(); MX_ADC1_Init(); MX_USART1_UART_Init(); while (1) { HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADC_VAL, 2); while(adcConvertionComplete==0){} adcConvertionComplete==0; snprintf(MSG,sizeof(MSG),"ADC SCAN Channels = %d\n\r",ADC_VAL[0]); HAL_UART_Transmit(&huart1, MSG, strlen(MSG), HAL_MAX_DELAY); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, 1); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, 0); HAL_Delay(1000); } }