Strony

Kurs XMEGA: porty (04)

Strona przeniesiona na nowy adres:
extronic.pl


14 komentarzy:

  1. Ani w kursie w EP ani rozszerzonym tu nie znalazłem informacji na temat samego rdzenia i instrukcji. Czy XMEGA to to samo co zwykły AVR tylko rozbudowany wewnętrznie? Czy oba mają ten sam zestaw instrukcji, czy są zupełnie różne?

    OdpowiedzUsuń
  2. Różnice nie są duże, aczkolwiek przy programowaniu w assemblerze mogą być istotne. Przy programowaniu w C nie trzeba się zagłębiać w takie informacje. Rdzeń został trochę rozbudowany, żeby między innymi działać z wielopoziomowym kontrolerem przerwań (PMIC). Zmiany w rdzeniu nie są duże, natomiast peryferia wszystkie bez wyjątku zostały zrobione od nowa.

    OdpowiedzUsuń
  3. A jest gdzieś wykaz instrukcji assemblerowych, które obsługuje ten rdzeń?

    OdpowiedzUsuń
  4. Spis instrukcji assemblera znajdziesz tu http://www.atmel.com/images/doc0856.pdf a dokładna lista obsługiwanych instrukcji jest w dokumentacji konkretnego procesora.

    OdpowiedzUsuń
  5. Właśnie chcę kupić pokazany tu moduł, ale mnie interesuje jak to wszystko zrobić w assemblerze. A skoro ma to być kurs podstaw Xmega to proponowałbym uzupełnić go o analogiczne procedurki w tym właśnie języku.

    OdpowiedzUsuń
  6. Mikrokontrolery AVR zostały zaprojektowane z myślą o wykorzystaniu języka C i kursu Assemblera tutaj nie będzie. Polecam C, bo jest bardzo łatwy, a kompilator bardzo dobrze optymalizuje kod.

    OdpowiedzUsuń
  7. Gdy podłączam X3-DIL64 do AVRDragon dostaję komunikat Got error setting up PDI mode: Device is not supported in this emulator mode. Debugger command setParameter failed., ModuleName: TCF (TCF command: Device:startSession failed.) Co to może być ?

    OdpowiedzUsuń
  8. Dragon nie obsługuje PDI. Podłącz przez JTAG i wszystko będzie działać.

    OdpowiedzUsuń
  9. "wywołujemy znaną już funkcję toggle, która za argument przyjmuje PORTE, kiedy przycisk"

    Nie chciałbym się mądrować ale do funkcji toggle argumentem przekazywanym jest adres: &PORTE.
    Natomiast void toggle(PORT_t *io) , operuje dalej gdyż *io jest wskaźnikiem przechowującym adres &PORTE.
    Jeśli to kurs dla początkujących, to warto wspomnieć o wskaźnikach i adresach, bo czasami niektórzy myślą, że pracują na zmiennych ze znaczkami * oraz &.
    Z kontekstu tekstu autora również można domniemać, że pracujemy na zmiennych.

    OdpowiedzUsuń
  10. trochę lipa , stm32 ma część wejść ,,5V tolerant'.

    OdpowiedzUsuń
  11. 5V to już przeszłość i nie ma za czym płakać ;) wszystkie współczesne scalaki działają na 3,3V

    OdpowiedzUsuń
  12. Ok, jak się np definiuje lub robi alias swojej nazwy pod pin portu?
    Np nazwamoja alias PORTC.x
    i jak nim machać jak było w bas SET/RESET nazwamoja?
    Lub nazwamoja = 1/0?

    OdpowiedzUsuń
  13. Cześć, Leon popełniłeś błąd w nazwie tytułu książki Tomasza, napisałeś "przykłady", a powinno być projekty. Pozdrawiam Annon

    OdpowiedzUsuń

Skomentuj!