Hallo,
ich arbeite gerade an einem Projekt mit einem stm32f446.
unter anderem möchte ich einen ADC im DMA mode laufen lassen, welcher
von einem Timer getriggert wird. Das Problem dabei ist, sobald ich
HAL_ADC_Start_DMA starte, hängt sich mein Programm auf. Ich nutze den
selben Timer um ein PWM signal zu erzeugen. Das sollte allerdings nicht
das Problem sein.
Hier der Teil des codes wo das Problem auftritt:
1 | if(newpwmperiod == 1 && adc_dma_status == 0){
|
2 | HAL_UART_Transmit(&huart2, test, 4, HAL_MAX_DELAY);
|
3 | HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_signal, cos_pointsperperiod); // Timer 2 Trigger out event
|
4 | adc_dma_status = 1;
|
5 | HAL_UART_Transmit(&huart2, test, 4, HAL_MAX_DELAY);
|
6 |
|
7 | }
|
Die erste Testausgabe wird ausgeführt. die Ausgabe nach dem Start des
ADCs nicht mehr.
Die Konfiguration vom ADC sowie vom Timer, die ich mit mxcube generiert
habe sind im Anhang.
Ich hoffe jemand findet den Fehler udn kann mir helfen, da ich einfach
nicht weiter weiß.
Gruß,
Alex