Funkcje API w obsłudze przerwań

Aby system mikroprocesorowy poprawnie radził sobie z zewnętrznymi zdarzeniami muszą być one obsługiwane za pomocą przerwań. Ma to szczególne znaczenia dla zadań krytycznych, w których nie może być mowy o zbyt dużych opóźnieniach w wykonaniu owego zadania, ani tym bardziej o pominięciu zdarzenia. Często nie zauważa się tego problemu, ponieważ wydaje się, że na przykład cykliczne sprawdzanie w pętli stanu danego wejścia jest wystarczające. Niestety takie podejście prędzej czy później powoduje generowanie błędów w pracy systemu. Jeżeli mamy do czynienia z projektem hobbistycznym, to nie jest to specjalnie dotkliwe, jednakże w przypadku rozwiązań komercyjnych nie można już sobie na takie błędy pozwolić.

Obsługa FAT w mikrokontrolerach STM32 – obsługa kart

Współcześnie najpopularniejsze i najbardziej uniwersalne są karty SD (Secure Digital). Standard obejmuje karty o pojemności do 4 GB, a jego rozsfzerzenie, czyli SDHC (Secure Digital High Capacity), aż do 32 GB. Standard kart SD został opracowany przez trzy firmy: Matsushita, SanDisk i Toshiba. Pierwsze nośniki danych tego typu pojawiły się pod koniec 2000 roku. Początkowo dokumentacja stfandardu SD była dosyć trudno dostępna, jednak sytuacja uległa zmianie wraz z nadejściem roku 2006, kiedy to stały się dostępne informacje m.in. na temat interfejsu SDIO, co w efekcie pozwoliło na implementację w mikrokontrolerach sprzętowych sterowników kart SD. Przedstawiciele najbardziej zaawansowanej grupy układów z rodziny STM32 mają wfbudowany właśnie taki sterownik.

Motylowy termometr

Jest to prosty projekt ilustrujący pomiar temperatury za pomocą czujnika wbudowanego w strukturę mikrokontrolera STM32F107 (zamontowanego na płytce STM32Butterfly) i wyświetlenie jej dziesiętnej wartości na graficznym wyświetlaczu LCD z telefonu Nokia 3310.

Oszczędzanie energii w mikrokontrolerach STM32

Zmniejszenie poboru energii przez mikrokontroler można osiągnąć poprzez zmniejszenie częstotliwości jego taktowania (co wiąże się ze spowolnieniem działania) lub przez selektywne wyłączanie układy peryferyjnych wbudowanych w jego strukturę. Ten drugi mechanizm doskonale sprawdza się w mikrokontrolerach STM32, które są konstrukcyjnie przystosowane do selektywnego włączania i wyłączania większości wbudowanych bloków peryferyjnych.

Funkcje API w obsłudze GPIO

Operowanie bezpośrednio na rejestrach 32–bitowego procesora lub mikrokontrolera nie należy do zadań prostych. Mimo, iż samo napisanie (stosunkowo zaawansowanych) aplikacji przy użyciu nazw rejestrów jest możliwe, to wprowadzanie zmian do istniejącego kodu po upływie na przykład kilku miesięcy, dodatkowo przez osobę, która nie jest autorem programu, jest w zasadzie niemożliwe do wykonania w sensownym czasie. Z tego powodu do takich operacji programiści wykorzystują funkcje o mniej lub bardziej kojarzących się nazwach. Jeżeli mamy do czynienia z bardzo skomplikowanym projektem wykorzystującym wiele peryferiów mikrokontrolera, to napisanie stosownych funkcji jest pracochłonne i wymaga dobrej znajomości architektury mikrokontrolera.