Kurs FreeRTOS #6: obsługa przerwań

freertos przerwania

Programując systemy wbudowane bardzo często musimy reagować na jakieś zdarzenia – pojawienie się zbocza, zakończenie pomiaru czy nadejście danych. Można w tym celu zastosować pooling i ciągle sprawdzać występujące stany, ale tego staramy się unikać. Alternatywą jest wykorzystanie przerwań, co w embedded jest codziennością. Czas pokazać jak wygląda ich obsługa w systemie FreeRTOS 🙂 Przy okazji opiszę semafory zliczające i rozwinę temat semaforów binarnych – tym razem wykorzystamy je do synchronizacji zadań z przerwaniami.… Czytaj dalej

Kurs FreeRTOS #5: semafory

freertos semafory

Dzisiaj zajmiemy się czymś zupełnie nowym – semaforami! 🙂 Możliwe, że już kiedyś obiło Ci się o uszy takie pojęcie. Jeśli tak to nic dziwnego. Semafory nie są narzędziem dostępnym tylko we FreeRTOSie. Znajdziesz je w każdym wielozadaniowym systemie operacyjnym. Potwierdza się to o czym mówiłem w pierwszym poście z tej serii – zdobytą w tym kursie wiedzę będziesz mógł łatwo przenieść na inne systemy, ponieważ wykorzystywane są w nich takie same mechanizmy 🙂 Dzisiejszy post ma rolę wprowadzającą do semaforów, rozwijany będzie jeszcze w kolejnych wpisach przy okazji opisywania innych zagadnień.… Czytaj dalej

Kurs FreeRTOS #4: zadania i priorytety – dodatkowe przykłady

freertos przykłady

W tym poście postaram się dokładnie zobrazować informacje przedstawione w poprzednim wpisie. Myślę, że ten artykuł rozwieje wszelkie wątpliwości. Utworzymy kilka zadań, zajmiemy się priorytetami, na przykładach zobaczymy jak wygląda przełączanie kontekstu oraz wykorzystamy funkcje typu Hook. Ponadto, nauczysz się jak przekazywać parametry do zadań oraz dowiesz się czym jest zagłodzenie zadania. Zahaczymy także o makra Trace Hook służące do śledzenia i analizy zachowania systemu FreeRTOS.Czytaj dalej

Menu na LCD #4: implementacja (rozszerzenie)

Rozszerzona implementacja menu na LCD

W tej części zajmiemy się delikatnym rozbudowaniem implementacji z poprzedniego artykułu. Zobaczysz jak za pomocą jednego przycisku lub enkodera zrealizować wiele funkcji w zależności od sytuacji, np. przechodzenie w górę menu i rozjaśnianie LCD. Ponadto, dodamy wyświetlanie nagłówków przy każdym poziomie menu tak jak było to pokazane na filmie demonstracyjnym we wprowadzeniu.… Czytaj dalej