Kurs AVR dla języka C – przygotowania
Witam w pierwszej części kursu AVR dla języka C, w której zajmiemy się przygotowaniem do praktyki – programowania. Kurs ten jest oparty na moich doświadczeniu – nie jestem specjalistą w dziedzinie mikrokontrolerów AVR, lecz na pewno nie będę “kursantów” wprowadzał w błąd, ponieważ wszystko co piszę jest sprawdzone w praktyce, jak i w teorii.
Mikrokontroler
Czym jest mikrokontroler? Pozwolę sobie na zaczerpnięcie definicji z Wikipedii:
Mikrokontroler (skrót ang. MCU lub µC) – system mikroprocesorowy zrealizowany w postaci pojedynczego układu scalonego, zawierającego jednostkę centralną (CPU), pamięć RAM oraz na ogół pamięć programu i rozbudowane układy wejścia-wyjścia. Określenie mikrokontroler pochodzi od głównego obszaru zastosowań, jakim jest sterowanie urządzeniami elektronicznymi.
Kurs AVR dla języka C będę opierał o mikrokontroler ATmega8 – przynajmniej na razie. Potrzebna w ramach kursu będzie również płytka stykowa i programator. Nie będę wszystkiego dokładnie wypisywać, ponieważ zrobiłem to w artykule Jak tanio zacząć przygodę z mikrokontrolerami AVR. Wszystkie części potrzebne do kursu można zakupić w sklepie internetowym www.lispol.pl.
Przygotowanie
Pierwsza część kursu jest przygotowaniem do drugiej, w której zaczniemy już programować i bawić się z diodami LED. A więc, mając już płytkę stykową (zakładam, że wiecie jak budować na niej układy ) należy złożyć następujący schemat:
Zasilacz najlepiej złożyć na płytce drukowanej, lecz jeśli ktoś nie czuje się na siłach w wytrawianiu, może zmontować zasilacz na płytce stykowej.
Mając już złożony schemat, musimy pobrać z internetu środowisko + kompilator (program do tłumaczenia kodu źródłowego w języku programowania na język maszynowy), oraz aplikację przez którą będziemy programować nasz mikrokontroler. Tworzymy również folder, w którym będziemy trzymać wszystkie pliki, które potrzebne będą podczas naszego kursu.
Oto linki do stron, z których możemy pobrać potrzebne nam oprogramowanie:
WinAVR – http://sourceforge.net/projects/winavr/files/WinAVR/20100110/WinAVR-20100110-install.exe/download
MkAvrCalculator (program w wersji darmowej z ograniczeniami), można wykorzystać inny do zaprogramowania pamięci mikrokontrolera, lecz ten program jest bardzo wygodny dla początkujących – http://atnel.pl/oprogramowanie-pc/mkavrcalculator
Gdy mamy już potrzebne oprogramowanie, należy je zainstalować. WinAVR instalujemy jak każdy inny program – zalecam zainstalować na partycji C, a MkAvrCalculator wypakowywujemy do folderu np. gdzieś na pulpicie. Do pełni szczęścia, czyli możliwości programowania potrzebujemy jeszcze AVRDUDE. W tym celu włączamy program MkAvrCalculator, oraz wystarczy użyć klawisza „Instaluj” znajdującego się w zakładce
„Ustawienia” i ramce „AVRDUDE”. Zakładam, że sterowniki do programatora są zainstalowane.
Konfiguracja
Gdy mamy wszystko zainstalowane i przygotowane, zabieramy się za konfigurację.
Z Menu Start wybieramy Wszystkie programy → WinAVR → MFile. W programie wybieramy Makefile → Main file name…, gdzie wprowadzamy nazwę pliku z kodem C bez rozszerzenia .c . Na potrzeby wpisujemy w okno dialogowe „kurs“. Następnie wybieramy Makefile → MCU Type→ ATmega → atmega8 (oczywiście jeśli akurat ATmega8 jest naszym mikrokontrolerem, na potrzeby kursu to właśnie ten model jest nam potrzebny).
Przyszedł czas na ustalenie jakiego typu programatora używamy. Ja zakładam, że wszyscy kursanci będą używać USBasp. Jeśli będą problemy z powodu użycia innego programatora, proszę pisać swoje uwagi w komentarzach.
W programie MFile, wybieramy Makefile → Port -> usb oraz Makefile→ Enable Editing of Makefile. Nie wybieramy za to typu programatora, lecz szukamy w tekście w okienku MFile fragmentu „AVRDUDE_PROGRAMMER = …“, gdzie wpisujemy po znaku równości:
„usbasp“ (bez cudzysłowiu). Ostatni krok – wybieramy File → Save as… i zapisujemy w folderze przeznaczonym na potrzeby kursu.
Podsumowanie
To by było na tyle w tej części kursu. W następnej przejdziemy do praktyki, czyli programowania i mrugania diodami LED. Zapewniam, że następna część kursu będzie bardziej pasjonująca niż ta. Ciąg dalszy wkrótce nastąpi…
-
http://forum.majsterkowicza.pl/user-473.html szermier1
-
http://forum.majsterkowicza.pl/user-465.html hazor90
-
http://forum.majsterkowicza.pl/user-473.html szermier1
-
http://forum.majsterkowicza.pl/user-465.html hazor90
-
http://forum.majsterkowicza.pl/user-473.html szermier1
-
http://forum.majsterkowicza.pl/user-392.html StoQ
-
http://forum.majsterkowicza.pl/user-465.html hazor90
-
http://forum.majsterkowicza.pl/user-392.html StoQ
-
http://forum.majsterkowicza.pl/user-465.html hazor90
-
http://forum.majsterkowicza.pl/user-473.html szermier1
-
http://forum.majsterkowicza.pl/user-1.html btomasz
-
http://forum.majsterkowicza.pl/user-473.html szermier1
-
http://forum.majsterkowicza.pl/user-1.html btomasz
-
http://forum.majsterkowicza.pl/user-473.html szermier1
-
http://forum.majsterkowicza.pl/user-465.html hazor90
-
adam