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

Jak zrobić licznik impulsów/bitów odbieranych z CAN na ATXmega?

Mateusz2325 27 Lis 2018 17:08 588 5
REKLAMA
  • #1 17589308
    Mateusz2325
    Poziom 2  
    Witam,

    Chciałbym zrealizować licznik impulsów/bitów które będą odbierane z magistrali CAN. Problem jest taki, że nie do końca wiem jak to zrealizować na ATxmega. Sprawa wygląda tak, potrzebne jest dostosowanie częstotliwości pracy timera do częstotliwości transmisji na magstrali, na wejście mikrokontrolera będzie wchodził sygnał z przetwornika MCP2551 i po zliczeniu 7 impulsów/bitów trwających określony czas sygnał z przetwornika powinien zostać przesłany na wyjście podłączone do oscyloskopu.

    Prosiłbym o porady, jak najprościej zrealizować taką rzecz w języku C.
  • REKLAMA
  • #2 17589338
    excray
    Poziom 41  
    W przypadku ATmegi wykorzystałbym przerwanie ICP. W ATxmega pewnie jest coś podobnego.
  • REKLAMA
  • #3 17589349
    Mateusz2325
    Poziom 2  
    Tylko nie do końca wiem jak skonfigurować timer żeby startował jak pojawi się pierwszy impuls na wejściu i wyzwalał przerwanie po jednym bicie
  • REKLAMA
  • #4 17589353
    excray
    Poziom 41  
    Timer ma działać cały czas. A czas trwania obliczasz na podstawie różnicy czasów.
  • REKLAMA
  • #5 17589517
    BlueDraco
    Specjalista - Mikrokontrolery
    Pomyśl najpierw, jaka będzie częstotliwość tych przerwań i wyciągnij wnioski.
  • #6 17590053
    tmf
    VIP Zasłużony dla elektroda
    W XMEGA łaczysz timer z wybranym wejściem poprzez event system. EV możesz wykorzystać do wyzwolenia timera - zobacz w opisie timera polecenia jakie obsługuje. Jesli jednak chcesz mierzyć okres pomiędzy impusami to prościej ustawić timer w tryb mierzenia okresu i przez EV doprowadzić mierzony sygnał.
    Z kolei jeśli chcesz liczyć liczbe impusów, to po prostu podajesz je tez przez EV jako zegar taktujący timer. Możesz też dowolnie połączyć wymienione wyżej funkcje. Także sprecyzuj co dokładnie chcesz osiągnąć, to znajdzie się rozwiązanie. No i jaka seria XMEGA? E czy inna?
REKLAMA