STM32 Hal-Driver ADC-DMA Interrupt

Hi, ich habe hier ein STM32-Projekt, bei dem ein Timer zyklisch eine

Im DMA-Interrupt sollen die Daten dann weiter verarbeitet werden.

Der DMA-Interrupt sieht derzeit so aus:

void DMA2_Stream0_IRQHandler(void) { /* USER CODE BEGIN DMA2_Stream0_IRQn 0 */

HAL_GPIO_WritePin(DBG5_GPIO_PORT, DBG5_GPIO_PIN, 1); HAL_ADC_Stop_DMA(&hadc1); __HAL_DMA_CLEAR_FLAG(&hdma_adc1, __HAL_DMA_GET_TC_FLAG_INDEX(&hdma_adc1));

RegulatorTask(GROUP_CD);

/* USER CODE END DMA2_Stream0_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_adc1); /* USER CODE BEGIN DMA2_Stream0_IRQn 1 */

// Starte neue Messung

HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADC1_DMA_Data, 4); //deaktiviere Half Transfer Interrupt

__HAL_DMA_DISABLE_IT(&hdma_adc1, DMA_IT_HT);

__HAL_DMA_CLEAR_FLAG(&hdma_adc1, __HAL_DMA_GET_HT_FLAG_INDEX(&hdma_adc1));

HAL_GPIO_WritePin(DBG5_GPIO_PORT, DBG5_GPIO_PIN, 0);

/* USER CODE END DMA2_Stream0_IRQn 1 */ }

Nun habe ich das Problem, dass immer ein Half-Transfer und ein

Leider sieht der HAL-Treiber das nicht vor. In der Funktion

Diese Funktion wird wiederum vom oben verwendeten HAL_ADC_Start_DMA() aufgerufen.

dazu, dass der Treiber wieder auf den Originalstand gebracht wird.

--
Michael
Reply to
Michael S
Loading thread data ...

Hallo michael ,kannst du dein code der initalisierung mit hal posten. Danke

Reply to
kjk25kjk

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.