NUCLEO-L073RZ problem z HAL_TIM_PWM_Start_DMA

Język C dla mikrokontrolerów ARM
ODPOWIEDZ
Awatar użytkownika
zielaq
Użytkownik
Posty: 7
Rejestracja: 10 sty 2018, 22:58

NUCLEO-L073RZ problem z HAL_TIM_PWM_Start_DMA

Post autor: zielaq » 06 gru 2019, 13:29

Witajcie.
Mam taki problem i trochę na nim utknąłem.
mam działające 2 timery
HAL_TIM_Base_Start_IT(&htim6); (zwykły timer czasowy do wprowadzania zmian w wypełnieniu pwm)
HAL_TIM_PWM_Start_DMA(&htim3, TIM_CHANNEL_1, &mainDuty, 1); (timer pwm na dma)
Jak je uruchamiam z poziomu funkcji main wszystko śmiga prawidłowo.
Ale następnym krokiem jaki chciałbym uczynić to aby oba te timery zostały uruchomione tylko w momencie gdy mam wciśnięty przycisk.

Dodałem obsługę przerwania z przycisku i timer htim6 bez problemu działa - tj jak jest wcisnięty przycisk włączam timer - HAL_TIM_Base_Start_IT(&htim6); a jak puszczam to HAL_TIM_Base_Stop_IT(&htim6);

Problem natomiast jest przy htim3 (pwm i dma).
Jak tylko próbuję go włączyć przez HAL_TIM_PWM_Start_DMA(&htim3, TIM_CHANNEL_1, &mainDuty, 1); to dostaje HARDFAULT i wszystko stoi.
to samo jest w sytuacji kiedy go uruchomię w main (wtedy działa) ale przy próbie wyłączenia tez się wysypuje.

ps19
Użytkownik
Posty: 19
Rejestracja: 16 paź 2017, 21:42
Lokalizacja: Opole

Re: NUCLEO-L073RZ problem z HAL_TIM_PWM_Start_DMA

Post autor: ps19 » 08 gru 2019, 13:01

Pokaż kawałek kodu, może odwołujesz się do struktury, czy zmiennej która nie istnieje w danym miejscu.
HAL w przypadku niektórych zmiennych potrzebuje static albo volatile

ODPOWIEDZ