01 kwietnia 2017

Komunikacja przez port szeregowy

Dawno dawno temu RS-232C był obowiązkowym wyposażeniem każdego szanującego się PCta. Te czasy dawno odeszły w zapomnienie, USB całkowicie wyparło dawne interfejsy komunikacyjne. Jednak w przypadku prostych mikrokontrolerów port szeregowy ma się bardzo dobrze i raczej jeszcze długo pozostanie w użyciu. Co prawda zamiast RS-232C używany jest często UART oraz bezpośrednie konwertery na USB, ale działanie portu jest praktycznie takie jak wiele lat temu. Płytka Nucleo posiada wbudowany konwerter UART-USB, można więc go wykorzystać do komunikacji z komputerem.

Odmierzanie czasu

Tym razem coś łatwiejszego, czyli odmierzanie czasu wykorzystując licznik SysTick. W poprzednich programach do wprowadzania opóźnień używaliśmy zwykłych pętli. Takie rozwiązanie było proste i działało, ale ciężko było precyzyjnie ustawić czas opóźnienia. Sprzętowy licznik sprawdzi się w takiej roli znacznie lepiej.

Odczyt stanu wejścia za pomocą przerwania

Poprzednio zobaczyliśmy jak odczytać stan wejścia. Program działał bardzo ładnie, jednak cały czas mikrokontrolera był wykorzystywany na aktywną pętlę, w której sprawdzaliśmy czy aby nie został wciśnięty przycisk. Teraz spróbujemy do tego celu wykorzystać przerwania.