Aplikacje zestawu KwikStik: obsługa GPIO
Firma Freescale udostępnia biblioteki i przykładowe programy dla mikrokontrolerów Kinetis, niestety wszystkie bazują na systemie operacyjnym MQX, który w wielu aplikacjach może być zbędny i niepotrzebnie komplikować pracę. Brak bibliotek peryferyjnych na kształt tych dla mikrokontrolerów STM32 powoduje, że pierwsze kroki z Kinetisami mogą wydawać się trudne, dlatego aby ułatwić zadanie początkującym programistom przedstawię kilka prostych przykładów.
Sprzęt
Platformą sprzętową jest niedrogi zestaw startowy KwikStik K40 z mikrokontrolerem MK40X256 oraz płytka bazowa KwikStikBase dla tego zestawu. Na płytce KwikStikBase znajdują się złącza z wyprowadzonymi liniami I/O mikrokontrolera, złącza I2C oraz SPI zgodne z tymi, które stosowane są w modułach firmy Kamami, konwerter UART<->RS-232 z żeńskim gniazdem DB-9 oraz transceiver CAN L9616 z męskim gniazdem DB-9.
Przygotowanie
Przykłady przygotowane będą w środowisku Keil µVision, którego wersja ewaluacyjna (z ograniczeniem wielkości kodu wynikowego) jest dostępna na stronie internetowej producenta: www.keil.com. Instalacja przebiega standardowo, więc nie będę jej szczegółowo opisywał.
Kolejnym krokiem jest znalezienie dokumentacji mikrokontrolera, a konkretnie Reference Manuala, oczywiście jest on dostępny na stronie firmy Freescale, dodajemy go również jako załącznik do niniejszego artykułu, w nim opisane są bloki peryferyjne i ich rejestry, czyli wszystko, co jest potrzebne, aby programować mikrokontroler.
Nowy projekt
Pierwszy program przykładowy pokaże w jaki sposób konfigurować i sterować liniami I/O mikrokontrolera. Do tych linii dołączymy moduł KAmodLED8, dzięki któremu zobaczymy efekt działania programu, czyli naprzemiennie migające diody. Najpierw musimy stworzyć na dysku katalog, w którym umieścimy nowy projekt, ja nazwałem go Kinetis_GPIO. Aby stworzyć projekt wybieramy w menu środowiska Keil µVision pozycję Project>New µVision Project, następnie wskazujemy wcześniej utworzony katalog i wpisujemy nazwę projektu, tu ponownie użyłem nazwy Kinetis_GPIO. W kolejnym kroku musimy wskazać typ mikrokontrolera z którego będziemy korzystać – MK40X256VMD100, po zatwierdzeniu wyboru środowisko zapyta, czy życzymy sobie, aby do projektu został dodany plik z kodem rozruchowym mikrokontrolera, potwierdzamy, mamy w tej chwili gotowy pusty projekt. Musimy jeszcze skonfigurować projekt, aby mógł korzystać z debugera Segger J-Link, który jest wbudowany w zestaw uruchomieniowy KwikStik, w tym celu musimy otworzyć okno właściwości projektu (w menu Project>Options for Target ‘Target 1’), w zakładce Debug zgodnie z poniższą ilustracją.
Dzięki temu J-Link będzie wykorzystywany do debugowania. Aby można było za jego pomocą również programować pamięć Flash mikrokontrolera należy przejść do zakładki Utilities, tam ponownie wskazać J-Linka, kliknąć przycisk Settings, w nowym oknie za pomocą przycisku Add dodać algorytm programowania dla naszego mikrokontrolera. Po dodaniu algorytmu trzeba jeszcze w sekcji RAM for Algorithm zwiększyć wielkość pamięci udostępnianej debugerowi do 0x0F00. Ostatnią operacją jest zaznaczenie opcji Reset and Run w sekcji Download Function, co spowoduje, że po zaprogramowaniu pamięci mikrokontrolera program w niej zapisany będzie automatycznie uruchamiany.
Teraz do katalogu projektu kopiujemy plik C:\Keil\ARM\INC\Freescale\K40\MK40N512MD100.h, dzięki któremu będziemy mogli odwoływać się do rejestrów za pomocą ich nazw, co jest znacznie łatwiejsze i bardziej czytelne niż korzystanie z adresów. W końcu tworzymy plik właściwego programu (File>New), zapisujemy go jako main.c w katalogu projektu. Korzystając z menu kontekstowego okienka Project dodajemy plik main.c do projektu, w tej chwili jesteśmy gotowi do pisania programu. Polecam zachować taki pusty projekt na przyszłość, żeby nie powtarzać za każdym razem tych samych czynności.





Jak dobrać odpowiedni format banera reklamowego do wydarzenia plenerowego?
„Shadow AI” w firmach: dlaczego tak wielu pracowników korzysta ze sztucznej inteligencji bez zgody firmy?
ADALM2000 – Regulowany układ wyzwalania zewnętrznego 

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



