max. Buffersize für ADC-DMA-Transfer

OP Persönliche Seite #6568558
Lesenswert?

Es sieht so aus, also ob der DMA im STM32H7 für den Buffer einen 
maximalen Adressraum von 16 Bit hat, zumindest funktioniert der Code nur 
bis maximal
ADCbufferSize = 65535

#define ADCbufferSize 65535
volatile uint16_t ADCbuffer[ADCbufferSize];
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCbuffer, ADCbufferSize);

Schaue ich mir meinen Buffer (nach dem Interrupt von 
HAL_ADC_ConvCpltCallback) an, dann ist alles bis ADCbuffer[65534] mit 
ADC-Werten gefüllt und darüber stehen Nullen.

Am Buffer liegt es nicht, wenn ich den mit einer Schleife mit 
Dummy-Zahlen fülle, dann liegen die Werte auch da.

Im Grunde sollte dem DMA ein Adressraum von 32 Bit zur Verfügung stehen, 
warum hört der Code auf bei 16 Bit Adressraum zu funktionieren?

Viele Grüße!
 Marko

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren