cz1

cz1



Programowanie

i>t^ LiLiir/u i j jLifflij j jijiy

W j f/jliil 'il    Część

Rys. 1 Strona ściągania kompilatora WinAVR


Panuje powszechna opinia, że C jest językiem bardzo trudnym. Mam nadzieję, że szybko przekonam Cię, że wcale tak być nie musi. Kurs ten ma ambicje stać przedłużeniem i uzupełnieniem zakończonego właśnie kursu mikroprocesorowej Oślej łączki, gdzie wykorzystany był BASCOM - dialekt języka BASIC. Czasami będę się odwoływał do Twojej wiedzy na temat tego właśnie języka. Chcę zaznaczyć jednak, że wiedza ze wspomnianego kursu może być pomocna w zrozumieniu tego, co chcę

Kursów C jest mnóstwo zarówno w Internecie, jak i w różnego typu publikacjach. Ja jednak nie chcę się skupiać na C jako takim. Przede wszystkim chcę pokazać, w jaki sposób można w tym języku zaprogramować mikrokontroler.

Zajmiemy się mikrokontrolerem AVR i kompilatorem GCC. Mimo iż C jest już pewnym standardem, nie wszystko, o czym będzie tutaj mowa, możesz przenieść bezpośrednio na inny kompilator. Musisz liczyć się z tym, że poszczególne kompilatory' od czystego C muszą się troszkę zdystansować. Jest to związane z występowaniem w mikrokontrolerach elementów nieujęlych w standardzie. jak na przykład układ przerwań. Na wszelkie niestandardowe fragmenty' postaram się zwrócić Twoją uwagę.

Na początku może wydać się to trudne, może nie wszystko z pierwszego kodu zrozumiesz... Umówmy się, że w chwili, gdy trafisz na niezrozumiały fragment - po prostu go przepiszesz... wyjaśnienie zapewne pojawi się wcześniej czy później, a ja z doświadczenia wiem, że nic bardziej nie cieszy, jak działający układ... i nic lepiej nie uczy niż praktyka.

Pewne podstawowe informację jak i ciekawostki oraz „rodzynki” będę umieszczał w ramkach, tak że będziesz mógł do nich zajrzeć, jeśli coś wyda się niejasne. Łatwo będzie Ci także sięgnąć do tych informacji w przyszłości, gdy zaczniesz pisać już całkowicie samodzielne programy.

Zacznijmy więc... na trzy! Trzy kroki.

Krok pierwszy - zbieranie narzędzi

a/. Pakiet WinAVR. Do kompilacji naszych programów skorzystamy ze znakomitego kompilatora AVR-GCC. Kompilator ten co prawda potrafi „przełknąć” kod napisany w przekazać, nie jest jednak bezwzględnie konieczna.

Z zawartych tutaj informacji możesz skorzystać, także jeśli znasz biegle język C, ale nie programowałeś jeszcze w nim mikrokontrolera. Także jeśli posługiwałeś się do tej pory BASCOM-em lub asemblerem, możesz poznać zupełnie nowy, ciekawy sposób pracy. Nawet jeżeli masz już za sobą napisanie niejednej aplikacji w C działającej na mikrokontrolerze, możesz znaleźć tutaj coś dla siebie. Przedstawię większej ilości języków niż tylko C. Jednak część z nich w wersji dla procesorów AVR nie została do końca zaimplementowana, co sprawia, że pisanie w nich programu wymaga wiedzy nie tylko o danym języku, ale także o istniejących ograniczeniach. Aby' dłużej już nic zaciemniać sprawy, umówmy się, że w tej chwili będziemy korzystać tylko z kompilatora C, pozwalając sobie czasami na niewielkie ustępstwa pozwalające prościej zapisać jakąś funkcję, w takim przy'padku będę jednak zaznaczał, że dana składnia nic jest zgodna ze slandardem ANSI C.

Pakiet zawierający AVR-GCC w wersji dla Windows uzyskał nazwę WinAvr - warto wiedzieć o tym przy poszukiwaniu odpowiednich plików. Cały pakiet jest udostępniany na licencji typu Open Sour-ce. Oznacza to, że osoba czuwająca nad projektem udostępnia cały jego kod źródłowy. Praktycznie każdy może wnieść do programu coś nowego.

Nas jednakże w tej chwili interesuje to, że kompilator ten można ściągnąć całkowicie za darmo. Nie spotkasz się tutaj z jakimikolwiek ograniczeniami, na przykład długości kodu wynikowego.

Pobieranie programu możesz rozpocząć od strony domowej projektu: http://winavt'■ sourcefo r-ge.net/

Strona jest dość przejrzysta. Warto zapamiętać ten adres ze względu na mnogość przydatnych bowiem trochę informacji o tym „jak to działa od środka”, co pomoże w lepszym zrozumieniu tego, co się dzieje z Twoim programem.

Na początek pokażę Ci, jak zdobyć i skonfigurować całkowicie za darmo i legalnie bardzo przyzwoite narzędzie pracy. Następnie chwilkę poświęcimy temu, z jakiego sprzętu będziemy korzystać w' najbliższym czasie. Po takim wstępie spróbujemy napisać pierwszą, prostą aplikację.

odnośników w dziale „Links”. Aktualnie jednak proponuję przejście na stronę:

http://soureeforge.net/projects/winavr/ Jeśli nie widzisz linku na stronie domowej, możesz także wpisać podany adres bezpośrednio w okienko przeglądarki. Powinieneś ujrzeć teraz stronę podobną do tej na rysunku 1. Także na wspomnianym rysunku w’ skrócie opisałem jak postępować dalej.

W chwili pisania tego kursu dysponowałem wersją programu 20050214. Okazuje się, że między kolejnymi wersjami pojawiają się czasami różnice sprawiające, że poprzednio napisany program nie zostanie skompilowany

36 Maj 2005 Elektronika dla Wszystkich


Wyszukiwarka

Podobne podstrony:
cz1 Programowanie Programowanie Rys. 2 Wybór konkretnego pliku do pobrania Rys. 3 Strona firmy
cz1 Programowanie Rys. 5 Programmers Notepad konfigurację narzędzi zawierającego pliki naszego prog
cz1 Programowanie zaznaczamy więc kolejno wszystkie wpisy, przyciskając za każdym razem przycisk&nb
cz1 Programowanie Plik makefileStart!- pierwszy program: Nasz pierwszy programik, jak tradycja naka
cz1 Programowanie poniżej RyS. 12 Przebieg kompilacji Output. Gdy wszystko przebiegnie prawidłowo,
cz1 Programowanie Programowanie Rys. 13 Wybór pliku do symulacji z rysunkiem 10, zajrzyj do ramki m
cz1 Programowanie Rys. 15 Panel „Workspace" H Coordinator Error loading object File. AVR Simul
IV. Treści nauczania Podobnie jak cały program „Ludzkie ścieżki”, tak również jego część
Zdjęcie0061 antastic pl PHYSIOEX H/.IOMm.
Image0012 ZNAKI! SYGNAŁY DROGOWE
Il.Częsc rysunkowa 1 .-plan zagospodarowania działki - nr rys. 1 , 2. -mapa sytuacyjna działki i usy
SPEDYCJA program wykładu 05.Uczestnicy rynku spedycyjnego (część 1). Przewoźnicy (armatorzy) morscy
4. Program praktyk1) Program 2-tygodniowej praktyki w zakresie pedagogiki resocjalizacyjnej - część
2) Program 2-tygodniowej praktyki w zakresie pedagogiki resocjalizacyjnej - część

więcej podobnych podstron