/* USER CODE BEGIN 2 */
HAL_Delay(100); // On attend 100 ms pour que le système soit prêt
printf("ADC TIM DMA\r\n"); // On affiche du texte
HAL_TIM_Base_Start_IT(&htim2); // On démarre le timer2 avec interruptions
HAL_ADC_Start_DMA(&hadc, (uint32_t*) &adc_value, ADC_BUFFER_SIZE); // On démarre l'ADC en mode DMA avec un tampon de 20 valeurs
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
if (flag_half_buffer) { // Si le demi-buffer est prêt
flag_half_buffer = 0; // On réinitialise le flag du demi-buffer
process_data(adc_value, 0, ADC_BUFFER_SIZE / 2); // On traite les données
}
if (flag_Cplt_buffer) { // Si le buffer complet est prêt
flag_Cplt_buffer = 0; // On réinitialise le flag du buffer complet
process_data(adc_value, ADC_BUFFER_SIZE / 2, ADC_BUFFER_SIZE); // On traite les données
}
/* USER CODE END WHILE */