STM32F030 HAL PWM DMA Interrupt

Gast #5908504
Lesenswert?
• ▲
▼
Hallo,

ich möchte Daten als PWM mit Timer 3 über DMA ausgeben. Dafür benutze 
ich den Circular Buffer und möchte die beiden Interrupts "Half Transfer" 
und "Full Transfer" verwenden. Der "Half Transfer" funktioniert schon 
und wurde mit
1
HAL_DMA_RegisterCallback(&hdma_tim3_ch1_trig, HAL_DMA_XFER_HALFCPLT_CB_ID, &cb1);
aktiviert. Das klappt wunderbar, das Gleiche funktioniert mit dem Full 
Transfer aber nicht. Wenn man in die HAL Funktionen genauer sieht, wird 
die Full Transfer callback Funktion in HAL_TIMEx_PWMN_Start_DMA ersetzt 
durch TIM_DMADelayPulseCplt. Weiß jemand wo/wie man sich einhängen muss 
um den auc Full Transfer zu bekommen?

Gruß
Werner

Die vollständige, von CubeMX, erzeugte main Funktion sieht wie folgt 
aus:
1
int main(void)
2
{
3
  /* MCU Configuration--------------------------------------------------------*/
4

5
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
6
  HAL_Init();
7

8
  /* Configure the system clock */
9
  SystemClock_Config();
10

11
  /* Initialize all configured peripherals */
12
  MX_GPIO_Init();
13
  MX_DMA_Init();
14
  MX_TIM3_Init();
15
  
16
  
17
  HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);
18
  HAL_DMA_RegisterCallback(&hdma_tim3_ch1_trig, HAL_DMA_XFER_HALFCPLT_CB_ID, &cb1);
19
  HAL_DMA_RegisterCallback(&hdma_tim3_ch1_trig, HAL_DMA_XFER_CPLT_CB_ID, &cb2);
20
  HAL_TIMEx_PWMN_Start_DMA(&htim3, TIM_CHANNEL_1, (uint32_t*) test, 128);
21
  while (1)
22
  {
23
  
24
  }
25
}

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.