Aplikacje zestawu KwikStik: obsługa GPIO
Sterowanie liniami I/O
Teraz wystarczy w funkcji main zaimplementować pętlę, która będzie naprzemiennie zapalać diody dołączone do linii 0, 8, 10, 24 oraz 1, 9, 11, 25. Aby ustawić stan wysoki na linii I/O trzeba wpisać do odpowiadającego jej bitu rejestru PDOR portu jedynkę, aby ustawić stan niski – wyzerować ten bit. Funkcja Delay zawiera pustą pętlę opóźniającą.
int main() { GPIOInit(); while(1) { PTE->PDOR = 1 | (1 << 9) | (1 << 11) | (1 << 24); Delay(); PTE->PDOR = (1 << 1) | (1 << 8) | (1 << 10) | (1 << 25); Delay(); } }
Kompilacja i uruchomienie programu
Aby skompilować program należy wcisnąć F7, wynik kompilacji widać w oknie Build Output, jeśli kompilacja przebiegła pomyślnie możemy uruchomić debugowanie naciskając Ctrl+F5, po uruchomieniu debugowania program zatrzyma się na wywołaniu funkcji SystemInit, po naciśnięciu F5 (Run) program powinien się uruchomić, czego efektem są migające na przemian diody o parzystych i nieparzystych numerach. W trybie debugowania można również ustawiać pułapki (breakpoint, klawisz F9), czyli zaznaczyć miejsce w kodzie programu po osiągnięciu którego program ma się zatrzymać, można również wykonać pracę krokową (F10), czyli wykonać program instrukcja po instrukcji. Środowisko µVision jest również wyposażone w moduł System Viewer (View>System Viewer), który umożliwia podglądanie wartości rejestrów mikrokontrolera wraz z opisami funkcji ich bitów i znaczeniem ich wartości (na ilustracji widać wartości rejestru PCR linii PTE8), co więcej możemy modyfikować wartości rejestrów (wcześniej należy zatrzymać program pułapką lub wybierając z menu Debug>Stop).
Mam nadzieję, że dzięki temu prostemu projektowi początkujący programiści oswoją się z zastosowanymi narzędziami, w następnych projektach poruszymy bardziej zaawansowane zagadnienia.