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.

Generatory PWM – obsługa programowa

Często mikrokontrolery sterują układami peryferyjnymi za pomocą sygnału zegarowego lub sygnałów PWM. W przykładzie pokażemy działanie i praktyczne wykorzystanie licznika TIM1 oraz możliwość jego współpracy z innymi blokami mikrokontrolera.