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

Platforma JetSys-2010 SFF do wysokowydajnych obliczeń AI-at-the-EDGE w aplikacjach high-end
Hahn EI30 ErP – transformatory sieciowe o niskich stratach mocy
Grzegorz Kamiński: Co nowego na rynku podzespołów półprzewodnikowych GaN? 


![https://www.youtube.com/watch?v=kmvM5hVSzCM Piata już edycja konferencji Hardware Design Masterclasses dla elektroników zaskoczyła frekwencją, tym bardziej, że spotkanie było dwudniowe. Film jest krótką relacją z wydarzenia, bazującą na wypowiedziach prelegentów. [materiał redakcyjny] Zapraszamy do obejrzenia!](https://mikrokontroler.pl/wp-content/uploads/2026/01/Rafal-tytulowe.png)

