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

XMega 64/128A3 - Konfiguracja DMA z wyzwalaczem TCC0_CCA

jp_elek 24 Lis 2016 10:18 870 1
  • #1 16082620
    jp_elek
    Poziom 9  
    Witam ,
    Po dłuższej przerwie próbuję się przeprosić z AVR-ami , przechodząc jednocześnie do XMega, zadanie jest proste - pomiar obrotów z wejścia PC0 .
    1. Timer TCC1 - odmierza czas 100us
    2. Timer TCC0 - używa przepełnień TCC1 jako zegara , strobem do pomiaru okresu / "częstotliwości" jest routowany sygnał z PC0
    3. Flaga TCC0_CCA ma być z kolei wyzwalaczem dla DMA do skopiowania tego rejestru do bufora kilkuelementowego w SRAM.

    Uwaga : Problem opisuję na podstawie symulatora w Atmel_Studio 7 - najnowsze.

    Otóż kontroler daje się skonfigurować jedynie przy opcji wyzwalania "ręcznego",
    próba konfiguracji wyzwalacza przez DMA_CH_TRIGSRC_TCC0_CCA_gc , powoduje zresetowanie kontrolera DMA .

    "Będących na ty z XMega" proszę o radę , uwagi ..
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #2 16084828
    jp_elek
    Poziom 9  
    Witam , kolejny raz ,
    Wniosek - główny problem- pośpiech , w konfiguracji DMA_CH0_CTRLA użyłem
    zamiast maski bitowej DMA_CH_SINGLE_bm - pozycję DMA_CH_SINGLE_bp !!!, co oczywiście "skaszaniło" całą konfigurację, mea culpa.
    poza tym jeszcze kilka mniej katastrofalnych błędów ..

    poprawna konfiguracja jest następująca :
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    zatem na poziomie symulatora sprawa wydaje się rozwiązana , w praktyce sprawdzę jak dojdzie płytka i polutuję .. :cry:
REKLAMA