AVR Programowanie w języku C |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Po męczarniach z przygotowaniem AVR Studio do współpracy z kompilatorem AVR-CGG czas na jakiś prosty program. Założyłeś już projekt led sugerując program migający diodą świecącą podłączoną do którejś z nóżek procesora. Śmieję się, że jest to program "Hello led", gdyż najprostszy program opisany w pomocy do progrmów Pascal i C Borlanda wyświetla na ekranie napis "Hello world".
Na początek dobrze jest zrobić sobie łatwy dostęp do pliku makefile, w którym to zapisane są wszelkie parametry i przebieg kompilacji. W tym celu kliknij prawym klawiszem na folderze Other Files w oknie projektu i wybierz Add File... i otwórz plik makefile.
Teraz z paska narzędzi lub menu File|New Text File lub za pomocą kombinacji Ctrl-N utwórz nowy plik led.c w katalogu projektu.
Teraz przeciągnij myszką nazwę led.c w oknie projektu do folderu Source Files aby otrzymać taki układ:
Wreszcie możesz przystąpić do napisania prostego programu. Zakładam, że masz do dyspozycji układ AT90S2313, a dioda LED jest podłączona do którejś z nóżek portu B. Kod programu:
#include <io.h>
#include <io2313.h>
int main(void)
{
outp(0xff,DDRB);
while(1)
{
outp(0xff,PORTB);
outp(0x00,PORTB);
}
}
|
 
Plik nagłówkowy io.h zawiera podstawowe funkcje i makra operacji wejscia wyjścia, natomiast io2313.h szczególne adresy rejestrów, wektorów przerwań itp dla tego mikrokontrolera.  
W funkcji main znajduje się instrukcja inicjalizująca port B jako wyjście, a następnie pętla, w której na zmianę są wystawiane jedynki i zera na port B AVR-a.
|
Aby skompilować program wciśnij klawisz F7. Nie musisz zapisywać poszczególnych plików projektu, gdyż AVR Studio przed wywołaniem kompilatora zapisuje na dysk te pliki, w których wprowadzone zostały zmiany. Po skompilowaniu otwiera się nowe okno zatytułowane Project Output. Jest to przechwycony ekran wyjscia kompilatora, linkera i programu make. W przypadku błędów w tym oknie pojawią się informacje o tym, w którym programie i której linijce wykryto błędy. Rysunek poniżej przedstawia wynik poprawnej kompilacji:
Zapewne ucieszy Cię fakt utworzenia pliku led.hex w katalogu projektu. To jest już gotowy plik w formacie Intel hex, który wpisuje się do pamięci flash mikrokontrolera!
|