cz6

cz6



Programowanie

wyglądać jak

w ramce obok:

Pole SRC

powinno za-

wierać pliki

SRC - $ (TARGET). C


ABC... C

Przygotowanie pliku makefile do kompilacji wielu plików źródłowych

Potrzebna nam modyfikacja jest bardzo prosta. W przyszłości powinieneś wprowadzać ją jednocześnie z dodawaniem nowego pliku źródłowego do projektu... ale do rzeczy.

Otwórz w Programincrs Notepadzie plik makefile naszego projektu. Zaraz poniżej pola TARGET powinieneś znaleźć pole SRC. Na początku powinno to jcktu oddzielone spacjami. Domyślnie w lym miejscu pojawia się nazwa projektu z rozszerzeniem *.c. Ma to sens przy pisaniu całego programu w jednym pliku źródłowym. Jednak w większych projektach staraj się raczej nie nadawać plikom źródeł, nazw identycznych z projektem • nic jest to błąd, ale może utrudnić orientację.

Kasujemy więc fragment ostatniej linii i zmieniamy jej postać na następującą:

SRC = ntain.c src += i2c.c \

Icd.c \

Po znakach ukośników musi znaleźć się znak końca linii. Wprowadzenie lulaj spacji spowoduje błąd poilczas kompilacji.

Całość mógłbyś zapisać także w jednej linii. Można też przepisać wszystkie pliki od razu, bez wykorzystywania operatom jak w drugiej linii. Jest to kwesria gustu: przywykłem do umieszczania na początku pliku głównego oraz wyraźnego zaznaczania, że reszta plików została „dodana". Kolejność wpisania plików nic ma znaczenia. Jeśli gdziekolwiek znajduje się funkcja, od której program ma zacząć -linkier ją odnajdzie.

W tej chwili jesteś golowy do kompilacji programu.

Uważaj, nawet jeśli Twój system operacyjny nic rozróżnia wielkości znaków, dla WinAVR ma to znaczenie. Wpisz nazwy plików identyczne z tymi, jakie zostały im nadane.


dodatkowego pola. Zajrzyj do ostatniej już dzisiaj ramki ABC... C. Znajdziesz tam dokładny opis, co należy zrobić, aby program zaczął działać.

Porządkowanie projektu

Jeśli zgodnie z opisem dodawałeś kolejno wszystkie pliki do projektu, panel po lewej stronie okna Programmers Notepada będzie coraz mniej czytelny. Jak podoba Ci się sposób organizacji widocznych w nim wpisów przedstawiony na rysunku 34? Zapewniam Cię, że znakomicie uprzyjemnia to pracę. Możesz tworzyć „katalogi” w okienku projck-

Rysunek 33 - konfiguracja PCF8591

(Tl-M-H-1-1*1

I    1 A/D CHANNEL NUM3ER

00 chnmeio

tu, klikając prawym klawiszem na nazwie, jaka została mu nadana. Wybierz „Add New Folder”. Pliki możesz przenosić przez ich przeciągnięcie na ikonkę wybranego katalogu. Aby przenieść plik z wnętrza katalogu na zewnątrz, przenieś jego nazwę na ikonę projektu. Tworzony katalog i wykonane przenoszenie nie ma nic wspól-

_ nego 7. katalogami na

dysku. Umożliwia jedynie wirtualne zorganizowanie plików w obrębie projektu. Fizycznie pliki pozostaną na swoich miejscach.

Rzeczywiste odwzorowanie struktury katalogów między dyskiem a oknem projektu umożliwia „Magie Folder”. Nie polecam Ci jednak jego stosowania - wymagałoby to dodatkowej ingerencji w plik makefile.

Podsumowanie

Jeśli udało Ci się napisać na podstawie tego tekstu program całkowicie samodzielnie - bardzo mnie to cieszy. Jeśli jednak program nie chce się uruchomić - zawsze możesz sięgnąć do plików’ udostępnionych na stronic internetowej Elporlalu. Zdaję sobie sprawę z tego, że dla niektórych takie programowanie wyda się niepotrzebnie skomplikowane. Celowo nic wprowadzałem go na początku. Proste programy możesz pisać w jednym pliku. Jednak im program większy, tym sen-sowniejsze staje się jego dzielenie. Znacznie łatwiej zapanować nad dwudziestoma plikami po tysiąc linii kodu każdy niż nad jednym plikiem z dwudziestoma tysiącami linii kodu (przykład z życia wzięty).

Od dzisiaj będziemy dzielić program na części wszędzie tam, gdzie ma to sens. Myślę, że o ile nie jesteś jeszcze przekonany, zaczniesz dostrzegać wkrótce coraz więcej zalet takiego programowania. Spróbuj powrócić do programu za dwa dni i zobacz, czy jeszcze pamiętasz, gdzie znajdują się poszczególne elementy kodu. Zajrzyj do programów1, które pisaliśmy poprzednio w pojedynczych plikach.

Propozycje zmian

Nasz program mimo tego, że jest coraz bardziej rozwinięty, temat głównego bohatera dzisiejszego ćwiczenia traktuje dość skrótowo. Jeśli chcesz poćwiczyć swoją znajomość C, proponuję Ci rozwinięcie tej części progra-

1.    Podana w dokumentacji szybkość transmisji układu PCF8591 to lOOkbps. Sprawdź co się stanie przy wyższych częstotliwościach.

2.    Zauważ, że w programie nie sprawdzamy, czy układ odpowiedział zgłoszeniem ACK. Do badania poprawności transmisji wykorzystaj fakt, żc funkcja i2c_get zwraca wartość 0 tylko, jeśli potwierdzenie zostało odebrane.

3.    Dopisz dwie funkcje do modułu i2c, które zajmą się transmisją pełnych ramek. Podpowiedz: wykorzystaj istniejące funkcje i2c_send oraz i2c_get. Nowe funkcje powinny przyjmować adres, pod jaki dokonać zapi-su/odczytu, wskaźnik na tablicę, do której umieścić/z której pobrać dane oraz informację o ilości danych do odczytu/zapisu. Pamiętaj, aby nic generować potwierdzenia po ostatnim odczytanym bajcie.

4.    Spróbuj uruchomić przetwornik cyfrowo--analogowy. W tym celu konieczne jest przesłanie kolejno danych 90h, 40h oraz danej, która zostanie zapisana w rejestrze przetwornika.

5.    Może uda Ci się napisać cały, nowy moduł zajmujący się transmisją specjalnie do i z naszego przetwornika? Pamiętaj, że w takim przypadku musisz zapamiętać gdzieś bajt konfiguracji, tak aby było możliwe jego potwierdzanie przy każdej zmianie wartości wpisanej do przetwornika cyfrowo-analogowego. A może funkcja zapisu wymagałaby podania konfiguracji przy wywołaniu?

Radosław Koppel

rado.slaw.koppel@edw.com.pl

48 Grudzień 2005 Elektronika dla Wszystkich

1

- ANALOGUE OUTPUT ENABLE FLAG:


Wyszukiwarka

Podobne podstrony:
cz6 ProgramowanieABC... C Co I Jak umieścić w nagłówku Pliki nagłówkowe możemy, dla własnych potrze
KROK NR 17: Ostateczne okno programu w pełnej wersji wygląda jak na rysunku poniżej: 2. OKNO
ANSI C 5 1 ELEMENTARZ Program wygląda prawie tak samo jak poprzednio, przy czym teraz zmienne fahr
skanuj0075 Pewnego razu ona powiedziała do niego: —    Twoje wargi wyglądają jak pól
Scan0041 (10) Floss wzruszyła ramionami, ale uniosła głowę. Znów wyglądała jak Floss. Łucja wciąż by
page0137 Wrońskiego życie i prace. 127 sposób. Pomijamy program, w którym, jak zwykle Wroński mówi 0
page0184 180 powierzchnie skał przez to, że po nich toczy ziarnka piasku nadając skałom wygląd, jak
Instukcja odblokowania nieużywanej pamięci RAM Po uruchomieniu programu kliknij jak na kolejnych obr
kartka77 Ledwie wstał dzień Na szybę, padł cień Wygląda jak kwiat.. I chyba już świat 
Karty pracy (11) Pokoloruj obrazek tak, aby wszystko wyglądało jak w rzeczywistości. Cel: nauka roz
wartości? pytanie - odpowiedzPytania działają jak napęd Programują to, jak się łacho wujemy I do
100 KS. FELIKS CIIYGLEWiCZ Streszczona część wygląda jak zbiór różnych wypowiedzi; autor luźno
O EDYCJI ▼ PROGRAM ▼ JAK OGLĄDAĆ REJESTRACJA
Grafomotoryka 3 Znajdź w każdym rzędzie taką samą figurę, jak w ramce i otocz ją pętlą r^oi ^ j

więcej podobnych podstron