STM32Butterfly2: obsługa klawiatury matrycowej i graficznego LCD
W przypadku nie spełnienia warunku if(!check_col) program realizuje odczyt wartości na liniach kolumn, odpowiada za to funkcja int col = io_get_mask(KEYSCAN_PORT, KEYSCAN_COL_PINS). Mamy tu jednoczesne zadeklarowanie zmiennej col oraz przypisanie do niej zwracanej wartości przez funkcję. Funkcja odczytująca wymaga podania dwóch parametrów: pierwszy z nich określa port GPIO, drugi parametr stanowi maskę ograniczającą odczyt tylko do wskazanych linii.
Wartość odczytana inna niż 0 oznacza, że został wciśnięty został któryś z przycisków. W takim przypadku następuje konwersja wartości zmiennych row oraz col do postaci kodu klawisza i przypisanie do zmiennej key. Za konwersję odpowiada funkcja key_translate(row, col), wnętrze jej ogranicza się do sprawdzania warunków porównujących zmienne i zwrócenia kodu klawisza, zostało to zrealizowane przy użyciu polecenia case.
Ostatnim krokiem jest zaktualizowanie wartości zmiennej row, operacja realizowana jest przez wykonanie przesunięcia wartości o jeden w lewo, w przypadku przekroczenia maksymalnej wartości zmienna przyjmuje wartość początkową.
Na zakończenie należy zauważyć, iż w programie głównym nie ma zdefiniowanych poleceń odpowiedzialnych za inicjalizację mikrokontrolera (zegary RCC). Jak wiadomo mikrokontroler po uruchomieniu w pierwszej kolei przechodzi do obsługi odpowiedniego przerwania – reset_handler. Właśnie powyższe przerwanie odpowiada za wstępną konfigurację mikrokontrolera oraz konfigurację części peryferii, przerwanie to powoduje także przejście do wykonywania poleceń zamieszczonych w funkcji main().


AI wspiera mapowanie kryzysowe i działania ratunkowe
Komponent wybrany dzisiaj może jutro stać się problemem w łańcuchu dostaw
Grzegorz Kamiński: „Surowce krytyczne” w półprzewodnikach 

![https://www.youtube.com/watch?v=QSnLO-KmBMY O wybranych projektach realizowanych w Laboratorium Zakładu Układów Mikrofalowych – ISE PW opowiadają: mgr inż. Michał Kalisiak, dr hab. inż. Arkadiusz Lewandowski, mgr inż. Andžej Šerlat oraz dr hab. inż. Krzysztof Czuba. Zapraszamy na firm [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/09/WEiTI-PW-czolowka.png)
![https://www.youtube.com/watch?v=XkeyLmtLfxo O konkursie organizowanym przez firmę TRUMPF Huettinger i polskie uczelnie techniczne opowiada Alicja Peresada i prof. Jacek Rąbkowski oraz kilkoro nagrodzonych dyplomantów: mgr inż. Jakub Dobosz, inż. Maja Zielińska, dr inż. Jakub Kołodziej, dr inż Weronika Hryniewska-Guzik i dr inż. Grzegorz Bartyzel. Zapraszamy do obejrzenia filmu! [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/07/TRUMPF-czolowka.png)


