stm32 - dma speicherziel ändern

OP #3076119
Lesenswert?
• ▲
▼
ich lese mit über den adc einen wert über dma in ein Array DMA[100] an 
die Adresse &DMA[0] ein. wie bekomme ich es hin, dass der der nächste 
adc wert an der Adresse von &DMA[1] steht?

über "memory increment mode" geht dies nämlich nur, wenn man z.B. direkt 
mehrere Kanäle des ADC liest.
#3076529
Lesenswert?
• ▲
▼
Das geht problemlos ueber "increment", auch wen sie nur 1 ADC Kanal habe 
:
1
  DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)ADC1_CDR_Address;
2
  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)ADC_Dual;
3
  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
4
  DMA_InitStructure.DMA_BufferSize = 24;
5
  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
6
  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
7
  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
8
  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;
9
  DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
10
  DMA_InitStructure.DMA_Priority = DMA_Priority_High;
11
  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
12
  DMA_Init(DMA1_Channel1, &DMA_InitStructure);
HIer werden 24 Werten in array gespeichert, anzahl ADC-Kanalen kan 1 bis 
x sein. Bei 1 Kanal werden 24 (neue) Messwerte von das gleiche ADC Kanal 
gespeichert.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.