cz2

cz2



Programowanie

p/uimjjjjywyjjiy pusomM®

w yj-zfAu ©

Co uważniejsi Czytelnicy zauważyli zapewne, że w części pierwszej listingi 1 i 2 są identyczne; Ci, którzy nie spostrzegli tego od razu, ale próbowali przeprowadzić na ich podstawie kompilację programu, zorientują się, że jest to niemożliwe.

Między moim komputerem a drukarnią wkradt się błąd, któiy należy jak najszybciej Sprostować. Na tej stronie przedstawiam poprawiony listing 1.

Dodatkowe pliki znajdujące się na stronie internetowej Elektroniki"dla Wszystkich są prawidłowe. Sposobu poprawienia błędu można także domyślić się na podstawie treści artykułu - gratuluję, jeśli udało Ci: się to zauważyć,

i Listing i Prawidłowa zawartość pliku make.bat

| @set PATH=C:\WinAVR\BIN;C : \WinAVR\UTILS\BIN; make.e


Listing 4 Podstawowy szablon pliku głównego

//////////////////////////////////////////////////////////////////////////////// // LEDMulti.c - plik główny programu obsługi multipleksowanego wyświetlacza LED //    przeznaczenie: "Programowanie procesorów w jeżyku C (EdW)"

//

// Autor: Radosław Koppel    Kompilator: WinAVR 20050214

////////////////////////////////////////////////////////////////////////////////

#incłude <avr\io.h>


int main(void)


Dziś będziemy starali się okiełznać dostępny na płytce testowej wyświetlacz LED. Za wyświetlacz zabierzemy się stopniowo. Nie protestuj, jeśli pierwsze z napisanych programów będą, na przykład, beznadziejnie marnować zasoby. Chcę. abyś przedstawione kody traktował jako dobrą ilustrację do wiedzy o C, którą chcę przekazać.

Ponieważ, jak już wspomniałem, do efektywnego pisania programów na mikrokontrolery w C konieczna jest znajomość procesora, zachęcam Cię do wyposażenia się w jakikolwiek opis jego rejestrów. Może być to dokumentacja dostępna na stronie firmy Atmel. Może być jakaś dobra książka. Nie jest konieczna literatura zajmująca się szczegółowo asemblerem tego procesora. Potrzebna jest natomiast wiedza o rejestrach wewnętrznych służących do obsługi takich elementów jak porty wejścia-wyjścia.

Małe repetytorium - zaczynamy

Zanim zaczniesz pisać kod programu, konieczne jest wykonanie kilku czynności, jakie przedstawiłem w części 1. Zerknij na przedstawiony tam rysunek 11. Ja nowy program nazwałem LED Mu! li. Zakładam, że wybierzesz taką samą nazwę i z takim założeniem będę prowadził dalszy opis.

Utwórz folder na nowy program. W moim przypadku był to C:\GCC-srcXKurs\I*EDmulri

Koniecznie skopiuj teraz do naszego folderu plik makefile.

Może okazać się, że najwygodniej będzie skopiować plik z poprzedniego programu. Zawsze możesz także sięgnąć do szablonu umieszczonego w folderze C:\WinAVR\satnples. Po lej czynności uruchom Programmers Notepada. Utwórz nowy projekt, wybierając z menu Fiie->New->Pro-ject. Plik projektu zapisz w utworzonym właśnie katalogu. Ja nadałem mu nazwę LEDMul-ti.pnproj - nie wpisuj rozszerzenia, zostanie ono nadane automatycznie.

Teraz utwórz plik główny naszego programu. Umożliwia to sekwencja Ftle->New->CZ C++. W tym przypadku możesz użyć także znajdującego się w pasku narzędzi przycisku tworzącego nieokreślony nowy plik tekstowy. Plik powinien zostać zapisany oczywiście w katalogu LEDMulti. Ja nadałem mu nazwę LEDMulti.c - tym razem podanie rozszerzenia jest konieczne.

Nasz program składa się z dwóch plików: makefile oraz LEDMulti.c. W celu wygodnego dostępu do nich, oba pliki dodajemy do projektu: W okienku Projects kliknij na nazwie LEDMulti i z rozwiniętego menu wybierz komendę Add Files.

W tej chwili pliki powinny być już dostępne w panelu naszego projektu. Przypominam, że powtarzam tutaj informacje, które przedstawia rysunek 11 (część pierwsza cyklu). Jeśli w którymś momencie będziesz miał problem, być może uznasz, że opisałem tutaj coś zbyt skrótowo - wróć do wspomnianej ilustracji.

Edytor wie już, jakie pliki wchodzą w skład naszego programu, pora poinformować o tym kompilator. W tym celu edytuj plik makefile. Ustawienia, jakie powinieneś tutaj wprowadzić, pokrywają się z ustawieniami wprowadzanymi przy okazji pierwszego ćwiczenia: nie zmienił się przecież typ procesora, zakładam, że kwarc także jest taki sam, plik wyjściowy w formacie IntelHEX bardzo nam pasuje, optymalizacja rozmiaru kodu nadal wydaje się dobrym rozwiązaniem, tak samo jak typ pliku przeznaczony dla emulatora. Różnica pojawi się w polu TARGET. Znajdź odpowiednią linię i wpisz tutaj nazwę pliku głównego. Będzie to najprawdopodobniej LEDMulti (bez jakichkolwiek rozszerzeń, brak spacji na końcu!).

Znakomicie! Jesteśmy gotowi do napisania kolejnego programu. Przy odrobinie wprawy wszystkie konieczne czynności wykonasz zapewne w czasie krótszym, niż mogłoby się wydawać z długości opisu.

Kodowanie - część standardowa:

Skoro tworzymy od początku nowy program, chciałbym, przy okazji, zaproponować Ci

38 Czerwiec 2005 Elektronika dla Wszystkich


Wyszukiwarka

Podobne podstrony:
57117 Sztuka i percepcja wzrokowa7 [] RÓWNOWAGA CO TO SĄ SIŁY POSTRZEŹENIOWE? Czytelnik zauważył ni
cz2 Programowanie jakichkolwiek powodów okazuje się Powinien wyjaśnić znacznie lepiej, co się
IMGA 43 spojlowanie programu robinsonowie ChillOne zamieści! wszystko, co wiedział, na najbardziej d
- wytyczne racjonalnej gospodarki energią elektryczną. Program pracy powinien być aktualizowany: co
cz2 Programowanie pewien dobry zwyczaj. Zanim jeszcze zaczniemy zastanawiać się nad tym, jak w ogól
cz2 Programowanie Przystąpmy teraz do przypisania własnych oznaczeń dla wyprowadzeń naszego
cz2 Programowanie Listing 7 Poprawa programu (...) COMPORT = LEDPORT = (l«COMl) ; (1«LED_B
cz2 Programowanie Programowanie Tabela 1 Typy proste zmiennych dostępne w
[pOl.cpp] //Program realizujący te same operacje co przykład[p_00.cpp] //ale z zastosowaniem
scan0004 Realizacja programów PR 3. komunikaty, sprawozdania o tym co było, np. okresowe obroty prod
2.    Plan studiów i program kształcenia umożliwia studentom zdobycie co najmniej 30
ki” lub „akademicki”, jest takim programem? Można również postawić pytanie, co dzisiaj kryje się np.
DSC00557 (11) rrfłjrfl, . I •i; s3.i
Czym jest programowanie? Powiedzeniem bardzo szybkiemu kolesiowi co ma dokładnie robić Planem
PROGRAM PŁATNYCH PRAKTYK LETNICH 2017 Program Praktyk Letnich CEMEX To, co wyróżnia nasz program, to
NOC NAUKOWCÓW 2010 przyciągnięci atrakcyjnym programem imprez bardzo chcieli zobaczyć co się u nas d

więcej podobnych podstron