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

Protokół MQTT #2: Paho Client

paho client

Jak wiadomo z poprzedniej części w modelu publish/subscribe występują dwa podstawowe elementy, pomiędzy którymi przesyłane są wiadomości. Są nimi klienci i broker. W naszym przypadku broker będzie zawsze gotowym rozwiązaniem, zainstalowanym gdzieś na komputerze albo udostępnionym w chmurze (np. Microsoft Azure, AWS), z którym będziemy się po prostu łączyli. Nie ma potrzeby i sensu stawiania go na niewielkim mikrokontrolerze. Z naszego punktu widzenia najbardziej interesujący jest klient i nim zajmiemy się w tym oraz następnych wpisach.… Czytaj dalej

Protokół MQTT #1: zasada działania

zasada działania MQTT

Tym wpisem rozpoczynamy serię na temat bardzo popularnego w IoT i M2M protokołu o nazwie MQTT. Jeśli interesujesz się koncepcją Internetu Rzeczy to pewnie już ta nazwa obiła Ci się kiedyś o uszy. Jeśli nie, to na pewno warto się z tym terminem zapoznać i teraz masz ku temu idealną okazję 🙂 Na początku przedstawię trochę teorii, a następnie wykorzystamy protokół w praktyce.… 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

Wskaźniki funkcyjne

wskaźniki do funkcji

Programując w języku C nie sposób obejść się bez użycia wskaźników. W kursach, książkach dla początkujących to zagadnienie jest niemal zawsze opisywane, bo jest naprawdę ważne. Na początku nauki programowania wskaźniki same w sobie sprawiają problem w zrozumieniu, przez co takie narzędzie jak wskaźniki funkcyjne (ang. function pointer) jest bardzo często pomijane. Ma to swoje uzasadnienie – autorzy nie chcą tego jeszcze bardziej komplikować. Niestety potem początkujący programista nawet nie wie o ich istnieniu. A szkoda, bo dają ogromne możliwości.… Czytaj dalej