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().

Dyrektywy ATEX a materiały wybuchowe – gdzie kończy się zakres przepisów?
Grzegorz Kamiński: Dlaczego powstały tranzystory FinFET i GAAFET?
Google stawia na fuzję jądrową. AI potrzebuje coraz więcej energii 

![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)



