Kurs XMEGA: porty (04)

|

Strona przeniesiona na nowy adres:
extronic.pl


14 komentarze :

Unknown pisze...

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?

Dominik Leon Bieczyński pisze...

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.

Unknown pisze...

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

Dominik Leon Bieczyński pisze...

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

B&W pisze...

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.

Dominik Leon Bieczyński pisze...

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.

Tomek pisze...

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ć ?

Dominik Leon Bieczyński pisze...

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

Jacek pisze...

"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.

Anonimowy pisze...

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

Dominik Leon Bieczyński pisze...

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

Unknown pisze...

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?

Dominik Leon Bieczyński pisze...

Można wykorzystać #define

Anonimowy pisze...

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

Prześlij komentarz

Skomentuj!