Brak produktów
Starożytny zwyczaj nakazuje zacząć naukę programowania mikrokontrolerów od mrugającej diody! Tak więc i my, jako nasz pierwszy program na ATxmega zrobimy mrugającą diodę.
Pliki do pobrania:
Uruchamiamy Atmel Studio 6 (jeśli jeszcze go nie masz, to zapraszam na stronę Atmel Studio 6 download). Po uruchomieniu programu, powinniśmy zobaczyć taki ekran:
Klikamy New Project. Otwiera się okno, w którym musimy nazwać nasz nowy projekt oraz podać, w jakim katalogu ma być zapisany. Wpisz tu, co uznasz za stosowne. Oprócz tego wybieramy GCC C Executable Project.
W kolejny kroku wybieramy procesor, jaki nasz interesuje. W module X3-DIL64 znajduje się ATxmega128A3U. W tym oknie możemy także ściągnąć aktualną dokumentację.
Po kliknięciu OK zostanie utworzony projekt i pojawi się szablon, zawierający szkielet prostego programu. Skasuj go i skopiuj poniższy kod w jego miejsce.
#include <avr/io.h> #include <util/delay.h> int main(void) { PORTE.DIR = 0; // caly port E jako wejście PORTF.DIR = 0b11111111; // caly port F jako wyjście uint8_t licznik = 0; // zmienna sterująca mrugającymi diodami while(1) { licznik++; PORTF.OUT = licznik; if(PORTE.IN & (1<<5)) { // jeśli przycisk FLIP zwolniony _delay_ms(100); } else { // jeśli przycisk FLIP wciśnięty _delay_ms(50); } } }
Aby skompilować program, wystarczy wcisnąć klawisz F7. W konsoli w dolnej części okna, powinniśmy zobaczyć Build Succeeded. Aby sprawdzić ile pamięci zajmuje nasz program, trzeba przesunąć tekst trochę do góry lub rozciągnąć okno konsoli.
Procesor w module X3-DIL64 ma wbudowany bootloader, dzięki któremu możesz szybko wystartować z procesorami XMEGA bez potrzeby posiadania programatora PDI. Wystarczy zwykły kabel MiniUSB, taki jak do telefonu czy innych urządzeń. Ściągnij Atmel Flip ze strony producenta i zainstaluj.
Po podłączeniu płytki do komputera, nic nie powinno się dziać, bo uruchomił się ostatnio wgrany program. Aby uruchomić bootloader, należy wykonać taką sekwencję:
Jeśli system zapyta się o sterowniki, wybierz automatyczne wyszukiwanie w katalogu C:/Program Files/Atmel. W Menedżerze urządzeń płytka powinna się przedstawiać jako ATxmega128A3U.
Uruchamiamy program Atmel FLIP. Następnie klikamy ikonkę pierwszą z lewej i wybieramy procesor ATxmega128A3U. Dalej, wybieramy Select Communication Medium i oczywiście wybieramy USB i Open. Wszystkie opcje programu powinny się uaktywnić.
Klikamy ikonkę Load Hex File z czerwoną strzałką skierowaną w stronę książki. Musimy teraz wskazać plik do wgrania do procesora. Znajduje się on w katalogu projektu w /Debug/xmega-demo.hex. Ważne! Ścieżka, nazwy katalogów i plików nie powinny być nadmiernie skomplikowane i nie powinny zawierać polskich znaków. Następnie klikamy RUN. Niniejszym program został przesłany do procesora, co powinno zająć mniej niż sekundę. Ostatnia rzecz to kliknięcie przycisku Start Application, by wyłączyć bootloader, odłączyć USB (nie trzeba odpinać kabla), a program wystartuje samoczynnie.
Program testowy generuje różne sygnały o niewielkiej częstotliwości na porcie F. Potrzebujemy zatem diodę z rezystorem, bo zobaczyć te sygnały na własne oczy :) Można ją podłączać na różne sposoby do dowolnego pinu portu F. Po wciśnięciu przycisku FLIP, dioda powinna migać dwukrotnie szybciej.
Poniżej udostępniam cały testowy projekt oraz inne ważne rzeczy:
Pliki do pobrania: