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
Kategoria: Mikrokontrolery
Kurs FreeRTOS #5: 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
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
Kurs FreeRTOS #3: zadania i priorytety
Dzisiaj stworzymy w końcu pierwsze zadanie i będziemy mieli naoczny efekt naszej pracy – mikrokontrolerowy „Hello World”, czyli migającą diodę. Zapowiada się bardzo dużo konkretnych i istotnych informacji, dlatego nie przedłużam – bierzemy się do pracy! 😉… Czytaj dalej
Kurs FreeRTOS #2: pierwszy pusty projekt
W tej części zajmiemy się stworzeniem pierwszego pustego projektu, na którym będziemy potem bazować. No to do dzieła 😉… Czytaj dalej
Kurs FreeRTOS #1: wprowadzenie
Tym wpisem rozpoczynamy kurs dotyczący FreeRTOS, czyli najpopularniejszego systemu operacyjnego działającego na tanich, energooszczędnych, niewielkich mikrokontrolerach!… Czytaj dalej
Menu na LCD #4: implementacja (rozszerzenie)
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
Menu na LCD #3: implementacja
W końcu przechodzimy do najlepszej części, czyli programowania. Wskaźniki, struktury, wskaźniki na funkcje – powinno być ciekawie. Zapraszam do czytania 🙂… Czytaj dalej
Buforowanie LCD
Chciałbyś pozbyć się blokowania procesora przy obsłudze LCD? A może zmieniać wyświetlane znaki z procedury obsługi przerwania? Żaden problem 🙂 Zapraszam do artykułu, w którym opisuję to na przykładzie wyświetlacza ze sterownikiem HD44780.… Czytaj dalej
Menu na LCD #1: wprowadzenie
Jak, tworząc własne urządzenie, stworzyć użytkownikowi możliwość wprowadzenia własnych ustawień w wygodny sposób? Albo dać mu możliwość wywołania określonych funkcji urządzenia bez stosowania tysiąca przycisków? Dobrym rozwiązaniem może być stworzenie panelu kontrolnego w postaci menu na wyświetlaczu i tym się właśnie zajmiemy 🙂… Czytaj dalej