Elektroda.pl
Elektroda.pl
X
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[STM32][F4] - Przerwanie od timera, wskakiwanie do "__Default_Handler"

16 Mar 2013 00:51 2748 4
  • Poziom 12  
    Witam,

    Bazuje na projekcie ze strony Freddie Chopin dla stma F4 z dodanymi bibliotekami STM32F4xx_StdPeriph_Driver. Zdefiniowałem sobie konfigurację timer'a w następujący sposób:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Timer działa poprawnie, natomiast przy pierwszym wywołaniu przerwania program się zawiesza tzn. wskakuje do "__Default_Handler z pliku vector.c (który pochodzi ze strony Freddie Chopin).

    Obsługa przerwania polega tylko na kasowaniu flagi:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Gdzie może leżeć błąd z powodu, którego nie wywołuje się właściwa funkcja obsługi przerwania?

    Dołączam jeszcze plik vector.c:

    Kod: c
    Zaloguj się, aby zobaczyć kod
  • PCBway
  • Poziom 26  
    Nie piszę z biblioteką, ale spróbuj wrzucić konfigurację przerwań po timerze, a najlepiej zamiast ładować tam tę beznadziejną strukturę, użyj NVIC_EnableIRQ(TIM1_CCIRQn) czy jakoś tak, bezp. z CMSIS.
  • PCBway
  • Specjalista - Mikrokontrolery
    A rozmiar stosu ustawiłeś? To taka słynna pułapka Freddiego na początkujących. ;)
    Poszukaj w podobnych wątkach (wracają co tydzień), to znajdziesz rozwiązanie.
  • Specjalista - Mikrokontrolery
    BlueDraco napisał:
    A rozmiar stosu ustawiłeś? To taka słynna pułapka Freddiego na początkujących.

    Lepiej dowiedzieć się wcześniej niż później (;

    4\/3!!
  • Poziom 12  
    Hehe :)

    No niestety złapałem się na tym :) Dzięki za podpowiedź!