cz1

cz1



Programowanie

poniżej RyS. 12 Przebieg kompilacji


Output. Gdy wszystko przebiegnie prawidłowo, powinieneś ujrzeć na końcu podsumowanie kompilacji oraz bardzo ważną dla nas wiadomość:

> Process Exit Codę: 0 Oznacza to w praktyce, że kompilacja zakończyła się sukcesem. Jeśli ujrzysz inny kod zakończenia procesu, oznacza to, że wystąpił błąd uniemożliwiający dalszą kompilację. W takim przypadku należy przewinąć okienko wyniku do miejsca opisu znalezionych błędów. Będą one wyróżnione fioletowym kolorem. Możemy kliknąć myszą na interesującym nas błędzie, a kursor zostanie automatycznie przeniesiony do odpowiedniej linii.

W tej chwili jednak program jest na tyle prosty, że wierzę, iż nie sprawił problemu. Gdyby jednak coś poszło nie tak, przedstawiam kilka rozwiązań problemów, z którymi sam się spotkałem: Jeśli kompilacja nie może zostać wywołana i program został dopiero co zainstalowany - konieczny może być restart komputera.

Kilka razy przytrafił się taki problem zaraz po zainstalowaniu najnowszej wersji WinAYR. Jeśli i to nie pomaga - wróć do odpowiedniego śródty-„clock skew detected"

Czasami może zdarzyć się, że po zakończeniu kompilacji mimo jej prawidłowego przebiegu otrzymasz tytułowe ostrzeżenie. Podczas kompilacji programu to, czy dany plik zostanie ponownie skompilowany, jest obierane na zapisanym w pliku czasie jego modyfikacji. Okazuje się jednak, że w systemie FAT informacja taka jest zapisywana z rozdzielczością dwóch sekund. Niektóre ze sterowników zaokrąglają prawdopodobnie ten czas w górę. Zauważ teraz, że tak skonfigurowaliśmy nasz edytor, że w chwili wywołania kompilacji otwarte pliki są zapisywane.

tułu i sprawdź konfigurację narzędzi. Wreszcie - zabawna sytuacja, która raz doprowadziła mnie prawie do rozpaczy... Sprawdź, czy okienko Output nic jest lak pomniejszone, żc praktycznie niewidoczne — widoczny jest wtedy jedynie jego pasek tytułowy, ale zawartość już nie. Rozmiar okienka można zmieniać, przeciągając je myszą za samą górę wspomnianego paska. Wskaźnik myszy zmienia się wtedy w pionową strzałkę.

To tyle szybkiej pomocy. Bardziej zaawansowanymi problemami zajmiemy się jeszcze później. Teraz praktycznie one nas nic dotyczą. Koniec Twojego opisu przebiegu kompilacji powinien wyglądać dokładnie tak jak na rysunku 12.

Kompilator powinien wygenerować teraz

Jeśli wystąpi opisana sytuacja z zaokrągleniem, program make może spostrzec, że dany plik pochodzi z przyszłości! W praktyce więc pojawiające się tytułowe ostrzeżenie możesz zignorować. Jeśli korzystasz z systemu plików NFTS, problem nie powinien wystąpić. Jeśli chcesz, możesz przeprowadzić w takiej sytuacji czyszczenie (F8) i ponowną kompilację - zapewnia to, że wszystkie pliki zostaną ponownie przekompilowane.

*na podstawie FAQ z załączonej do WinAYR dokumentacji plik hello.hex. Zajrzyj do katalogu programu i sprawdź, czy tak jest w rzeczywistości. Osoby troszkę obeznane z programowaniem na pewno już domyślają się, co się w nim znajduje. Jest to plik przeznaczony dla programatora. Wczytaj go do programu obsługującego Twój programator i wyślij do skonstruowanego układu prototypowego. Sposób posługiwania się programatorem w chwili gdy posiadamy gotowy plik hex, opisałem do-kłacbiie w artykule „Programator BASCOM-a pomocą przy programowaniu w C, asemblerze, itd...” (EdW 1/2005). Jeśli wszystko poszło tak jak powinno, zobaczysz swoją pierwszą „mrygałkę” stworzoną za pomocą C!

Jak to działa

Telegraficzny wyciąg informacji podstawowych znajdziesz w ramce. Przeczytaj zawarte tam informację. Powinieneś wiedzieć już. co nieco o składni naszego kodu. Ja napiszę, co się dzieje we wnętrzu głównej funkcji programu. Na początku do rejestru o nazwie DDRB wpisywane są jedynki tam, gdzie linie portu chcemy ustawić jako wyjścia. Jest to rejestr kierunku portu B. Jego oznaczenie jest zgodne z oznaczeniem asemblerowym. Posługujemy się tutaj liczbą zapisaną szes-nastkowo. Porównaj zapisywaną liczbę

ABC... C

formaty liczb

Liczby w C można podać w trzech formatach: dziesiętnym, szesnastkowym i rzadko stosowanym ósemkowym. W pierwszym przypadku liczbę zapisuje się bez żadnych przedrostków. Aby zapisać liczbę szesnast-kowo, trzeba ją poprzedzić przedrostkiem 0x, dla postaci ósemkowej będzie to samo zero. Uważaj więc: Zapis 123 nie jest równoznaczny z 0123.

Brak jednak możliwości zapisu binarnego. Zamiast tego najczęściej zapisuje się liczbę szesnastkowo.

ABC... C

Trochę podstaw w telegraficznym skrócie

Teraz opowiem Ci trochę o podstawach C na podstawie naszego pierwszego programu. W pierwszych liniach widzisz dyrektywy #include nakazujące dołączenie plików nagłówkowych do naszego programu. Aby można było w kodzie użyć funkcji znajdujących się w bibliotekach GCC, trzeba najpierw dołączyć do kodu odpowiedni plik. My w tym przypadku korzystamy z definicji rejestrów specjalnych znajdujących się w procesorze oraz z procedur generujących opóźnienia. Jeśli chcesz już teraz poznać wszystkie funkcje, jakie przygotowali twórcy AVR-GCC, zajrzyj do pliku C:\WinAVB\doc\ avr-libc\zvr-libc-user-manual.pdf.

Funkcja main - każdy program musi zawierać funkcję o takiej nazwie. Niezależnie od tego, w jakim miejscu została ona umieszczona, wykonywanie programu rozpocznie się właśnie od niej.

Nawiasy klamrowe {} oznaczają w tym przypadku tak zwane ciało funkcji. Między nimi muszą znajdować się instrukcję definiujące co ma zostać wykonane po ich wywołaniu.

Po jedyncza instrukcja w C zawsze kończy się znakiem średnika. Możesz zapisać kilka instrukcji w jednej linii. Ważne jest jednak, aby zakończyć średnikiem każdą z nich.

Komentarze według standardu ANSI-C należy zaczynać sekwencją /*, a kończyć */. Większość kompilatorów dopuszcza użycie znaków //, które oznaczają komentarz do końca linii - jest to analogiczne do znaczka ' z BASCOM-a.

Aby wywołać jakąś funkcję, umieść jej nazwę tak, jakby to była normalna instrukcja. Parametry wpisz w nawiasach () zaraz za nazwą. Jeśli wywołujesz funkcję, która nie wymaga parametrów, musisz umieścić puste nawiasy. Nawiasy ( ) nazywane są często operatorem wywołania.

46 Maj 2005 Elektronika dla Wszystkich


Wyszukiwarka

Podobne podstrony:
Poniżej (rys. 12) zaprezentowano przykładowe przebiegi wielkości elektrycznych - prądu (przed filtra
img168 16812. Metody grafowe Rys. 12.3. Przebieg generacji sceny I z rys. 12.1 za pomocą ekspansywne
1201 120 Rys. 12.2. Przebiegi napięć i prądów podczas działania odgromnika zaworowego t chwili zapł
2 (385) Rys. 4.12. Przebiegi czasowe mierzonych prądów i(, ń, i3 Dla tak wyznaczonych prądów (rys. 4
16 Czas [s] Rys. 12. Przebieg zmian napięcia i prądu baterii w czasie rozruchu silnika
Równania różniczkowe 155 Prąd stojana l.pu Rys. 12.6. Przebieg prądu stojana w czasie rozruchu
1201 120 Rys. 12.2. Przebiegi napięć i prądów podczas działanie odgromnika zaworowego V chwili zapł
30350 skanuj0004 (127) Fm ▲Fmax- =-*-► Vmax V Rys. 12.3. Przebieg zmiany sity mięśnia w funkcji pręd
158 pcx 158 Bezprzewodowe sieci komputerowe Rys. 7.12. Przebieg transmisji z użyciem konwerterów prz
choroszy 9 259 80,4*° Rys. 12.3. Przebiegi zmian kosztów wykonania pojedynczego przedmiotu z rys 12
Image503 Rys. 4.635. Schemat logiczny programowanego generatora par impulsówa --(25-55)Tb i Rys. 4.6
IMG68 (3) Zastosowanie programów komputerowych w terapii pedagogicznej dzieci dyslektycznych Rys. 1
Wytyczne programowe: Poniżej podano wytyczne programowe przebiegu praktyki z podziałem na 6 tygodni,
20284 PrepOrg cz I6 - 76 - Rys. 11.11. Przebieg destylacji układu azeotropowego ujemnego Rye. 11.12
HWScan00247 Rys. 7.12. Trójpodporowy pierścień podwozia koparki a - przekrój pionowy, b - rzut pozio
Rys. 12. Analiza widmowa wybranych przebiegów. Można też wyeksportować analizowane przebiegi do arku

więcej podobnych podstron