logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

xmega16d4 - Jak generować przerwanie od zmiany sygnału na linii SS?

st4chuu 31 Lip 2015 01:51 735 4
REKLAMA
  • #1 14888292
    st4chuu
    Poziom 15  
    Cześć
    Czy może ktoś mi podpowiedzieć, jak generować przerwanie od zmiany sygnału na lini SS?

    Obecnie próbuję to zrobić dodając przerwanie na PIN4 portu C

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    oraz przerwanie

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Samo SPI działa poprawnie przesyła i odbiera ramki, jednak nie mogę rozgryźć jak generować przerwanie przy zmianie stanu aby zliczać ilość bajtów danej transmisji

    z góry dziękuję za pomoc
    pozdrawiam
  • REKLAMA
  • #2 14889747
    landy13
    Poziom 31  
    Grupa: PORT_ISC_BOTHEDGES_gc jest w innym rejestrze. Powinno być:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #3 14892408
    st4chuu
    Poziom 15  
    Dzięki za odp.
    Kiedy ustawiam przerwanie na pin 4 z portu C przestaje działać właściwie SPI
    Czy wie ktoś jak mogę sprawdzać zmiany stanu lini SPI?
    Chciałem serię danych rozpoczynać specyficznym bajtem, jednak nie ma niestety takiego bajtu, który nie mógł by się pojawić jako dana.

    W związku z tym czy jest możliwość wywołania przerwania od lini SS?
  • REKLAMA
  • #4 14892607
    landy13
    Poziom 31  
    A nie możesz do liczenia odebranych bajtów wykorzystać przerwania SPI?
  • #5 14892652
    st4chuu
    Poziom 15  
    tak zgoda ale chcę liczyć ilość bajtów danej transmisji. Ramki mają od 2 do 6 bajtów.
    Poprzednio projekt ten zrealizowałem na Atmedze, W przerwaniach od SPI zliczałem ilość bajtów natomiast przerwanie od zmiany stanu linii SS zerowało licznik bajtów.
REKLAMA