Könnte jemand bitte kurz in mein bsp. schauen. Es handelt sich um ein einfaches Cube Projekt welches beim Nucleo-H7 bei Timer1 Überlauf den ADC triggern sollte und anschliessend per DMA ins Memory. Leider funktioniert weder der timer noch der ADC/DMA (wenn manuell gestartet) :(
timer läuft nun, bez des ADC+DMA habe ich das problem das initial nur eine konvertierung ausgeführt wird: hadc1.Instance = ADC1; hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1; hadc1.Init.Resolution = ADC_RESOLUTION_16B; hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE; hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; hadc1.Init.LowPowerAutoWait = DISABLE; hadc1.Init.ContinuousConvMode = DISABLE; hadc1.Init.NbrOfConversion = 1; hadc1.Init.DiscontinuousConvMode = DISABLE; hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIG_T1_TRGO; hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING; hadc1.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DMA_CIRCULAR; hadc1.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN; hadc1.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE; hadc1.Init.OversamplingMode = DISABLE; hadc1.Init.DMAContinuousRequests = ENABLE; // diese Zeile manuell Ziel: bei jedem T1_TRGO soll eine ADC Wandlung + DMA Transfer ausgeführt werden (Daten an Zieladdr per DMA überschreiben). Ich habe die Vermutung, dass dieser DMA transfer aktuell nicht ausgeführt wird, wenn der vorgehende transfer noch nicht quitiert ist. Wie kann ich dieses Ziel erreichen?
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.