Spis treści:
  1. Zakładanie nowego projektu
  2. Importowanie projektu
  3. Tworzenie programu/ praca w środowisku Eclipse
  4. Wykorzystanie typu float w funkcji “sprintf”

 

1. Zakładanie projektu

 

Po uruchomieniu programu Eclipse wybieramy ,,File > New > C Project lub C++ Project”

Eclipse - nowy projekt.
Eclipse – nowy projekt.

 

W polu “Project name” podajemy nazwe dla naszego nowego projektu i katalog zapisu. Następnie wybieramy “AVR Cross Target Application > Empty Project”, upewniamy się, czy w prawym oknie mamy wybrane “AVR-GCC Toolchain” i klikamy “Next >”.

Eclipse - wybór nazwy i rodzaju projektu.
Eclipse – wybór nazwy i rodzaju projektu.

 

W kolejnym oknie zaznaczam tylko opcje “Relase” i przechodzimy dalej.

Eclipse - wybór trybu projektu.
Eclipse – wybór trybu projektu.

 

Teraz wybieramy z listy na jakim układzie będziemy pracować i podajemy jego częstotliwość taktowania. Klikamy “Finish”.

Eclipse - wybór mikrokontrolera i częstotliwości taktowania.
Eclipse – wybór mikrokontrolera i częstotliwości taktowania.

 

W lewym oknie utworzy się nowy projekt. Teraz należy ustawić jeszcze programator, w tym celu klikamy prawym przyciskiem myszy nazwę nowego projektu i wybieramy pozycję “Properties”. Następnie wybieramy “AVR > AVRDude”. W nowym oknie z listy rozwijanej wybieramy używany programator (USBasp). Jeśli nie mamy na liście naszego programatora to klikamy przycisk “Edit” i tworzymy nową konfiguracje.

Eclipse - właściwości, ustawienie programatora.
Eclipse – właściwości, ustawienie programatora.

 

W zakładce “Target Hardware” mamy ponownie możliwość wyboru/zmiany mikroprocesora jak i możemy dokonać zmiany częstotliwości taktowania mikrokontrolera.

Eclipse - właściwości, wybór mikrokontrolera i częstotliwości taktowania.
Eclipse – właściwości, wybór mikrokontrolera i częstotliwości
taktowania.

Uwaga!!!
Jeśli nie mamy w opcjach projektu “AVR” to nasz eclipse utworzył niepoprawnie projekt-niektóre wersje nie współpracują w 100% z dodatkiem do AVR. Nalezy wykonać kroki poniżej.

W celu naprawy projektu, jeśli nie został poprawnie utworzony należy:

  • wyłączyć program eclipse
  • wejść do folderu z projektem i odnaleźć plik “.project”
  • odnaleźć sekcję “<natures>” i dodać wpis “<nature>de.innot.avreclipse.core.avrnature</nature>”
  • uruchomić ponownie projekt w eclipse
2. Importowanie projektu

Ważną kwestią jest otwieranie projektu, który został wcześniej zrobiony. W Eclipsie zaleca się dokonywać tej operacji przez importowanie projektu, dzięki czemu mamy gwarancję, że projekt załaduje wszystkie ustawienia projektu a nie tylko same pliki. Importowanie projektu polega na wskazaniu katalogu na dysku zawierającego nasz projekt. Wybieramy “File->Import” w otwartym oknie wybieramy opcje “Existing project in Workspace” i klikamy “Next >”.

Eclipse - Wybieranie typu importu.
Eclipse – Wybieranie typu importu.

 

Teraz wybieramy “Browse” i odszukujemy katalog z naszym projektem. Po wybraniu poprawnej lokalizacji w oknie poniżej zładuje się nam wybrany projekt. Klikamy “Finish” i możemy przystąpić do pisania
programu.

Eclipse - Wybieranie lokalizacji projektu do importu.
Eclipse – Wybieranie lokalizacji projektu do importu.

Uwaga

Jeśli projekt zawiera błąd i nie można go załadować metoda importu to najłatwiej jest utworzyć nowy czysty projekt i do katalogu z projektem przenieść tylko pliki z kodem naszego programu.

3. Tworzenie programu/ praca w środowisku Eclipse

Mamy już gotowy projekt do pracy. Teraz musimy utworzyć pierwsze pliki w których będzie będziemy pisać nasz kod programu. Tworząc program należy starać się dzielić kod na poszczególne moduły umieszczone w osobnych plikach (na wzór programowania obiektowego – klasy). W lewym oknie klikamy na nazwę naszego projektu i wybieramy “New” a następnie typ pliku jaki chcemy utworzyć. Najlepiej zawsze tworzyć pary plików “Header File” i “Source File” – gdy tworzymy klasę, środowisko programistyczne samo tworzy plik header i surce. W pliku nagłówkowym “Header” dokonujemy defnicji nagłówków funkcji zmiennych globalnych, importujemy dodatkowe biblioteki. Natomiast w pliki “Source” implementujemy kod funkcji, kod programu. Pierwszymi plikami jakie należy utworzyć są “GLOBAL.h” i “main.cpp” – dla programów pisanych w języku C++. Do plików kopiujemy kod z strony “Środowisko programistyczne

Pisanie kodu w środowisku Eclipse jest bardzo przyjemne. Środowisko na bieżąco sprawdza poprawność naszego kodu i w razie literówek podkreśla na czerwono błędy. Dodatkową zaletą jest funkcja podpowiadania. Wystarczy wpisać kilka początkowych liter zmiennej, funkcji a rozwinie się lista z podpowiedziami.

Jeśli lista nie rozwija się automatycznie to można wymusić jej rozwinięcie przez przyciśnięcie kombinacji klawiszy “CTRL + SPACE”.

Jak mamy już gotowy program to należy go skompilować, służy do tego ikon przedstawiająca młotek.

Eclipse - ikona kompilacji projektu.
Eclipse – ikona kompilacji projektu.

 

Jeśli projekt nie zawiera błędów to w dolnym oknie – konsola pojawi się komunikat o zakończonej kompilacji z sukcesem. Jeśli projekt posiada błędy , to należy je poprawić zgodnie z komunikatami.

Eclipse - kompilacja zakoczona sukcesem.
Eclipse – kompilacja zakoczona sukcesem.

 

Do wgrywania projektu służy ikonka z zieloną strzałką i napisem “AVR*”. Postęp wgrywania pokazywany jest na ekranie i jeśli nie wystąpią błędy to po chwili mamy wgrany nowy program do naszego układu.

Eclipse - Ikona wgrywania projektu do mikrokontrolera.
Eclipse – Ikona wgrywania projektu do mikrokontrolera.

Uwaga!!!
Jeśli pojawił się błąd przy wgrywaniu programu należ sprawdzić poprawność podłączenia programatora i zasilania na płytce EDU. Jeśli wszystkie połączenia są prawidłowe to należy odłączyć programator od portu USB i ponownie podłączyć.

4. Wykorzystanie typu float w funkcji “sprintf”

Gdy chcemy wykorzysta¢ zmiennie typu foat, double w funkcji “sprintf” należy poinformować kompilator o takiej potrzebie. Jeśli kompilator nie dołączy dodatkowych bibliotek to zamiast liczby pojawi się znak “?”. Do poprawnego wyświetlania zmiennych zawierających liczby z przecinkiem kompilator musi dodać dodatkowe biblioteki do naszego projektu – zwiększa to kod wynikowy aplikacji. Wchodzimy do właściwości projektu i wybieramy “C/C++ Builder -> Settings -> AVR C++ Linker -> General” i w polu “Other Arguments” wpisujemy: “-Wl,-u,vfprintf”.

Eclipse - Konfiguracja funkcji "sprintf" do obsługi liczb typu float.
Eclipse – Konfiguracja funkcji “sprintf” do obsługi liczb typu
float.

 

Następnie należy dodać dwie biblioteki: “libm.a” i “libprintf_flt.a”. Wybieramy “C/C++ Builder -> Settings
-> AVR C++ Linker -> Libraries” i dodajemy nowe biblioteki przy użyciu przycisku z plusem. W nowym oknie wpisujemy “m”, powtarzamy czynność i tym razem wpisujemy “printf_flt”.

Eclipse - Konfiguracja funkcji "sprintf" do obsługi liczb typu float.
Eclipse – Konfiguracja funkcji “sprintf” do obsługi liczb typu
float.

 

I ostatnim krokiem jest zmiana komend do kompilacji, wybieramy “C/C++ Builder -> Settings
-> AVR C++ Linker ” i w polu “Command line pattern” wpisujemy “${COMMAND}  -lc -lm ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT}  ${INPUTS}  -lc”.

Eclipse - Konfiguracja funkcji "sprintf" do obsługi liczb typu float.
Eclipse – Konfiguracja funkcji “sprintf” do obsługi liczb typu float.

W tym momencie Eclipse został poinformowany, że ma w etapie kompilacji dodać do projektu podane wcześniej biblioteki. Po tym zabiegu należy dodatkowo wybrać z listy opcji projektu “Clean Project” a następnie “Build Project”.