- Objaśnienie sprzętowe płytki rozwojowej STM32 Nucleo 64
- Programowanie płyt rozwojowych STM32 Nucleo 64
- Pierwsze kroki z STM32F401
- Wniosek
- Wideo
Dla większości ludzi pierwszą wbudowaną płytą programistyczną, nad którą mogliby pracować, byłaby najprawdopodobniej płytka Arduino. Ale, jak również wszyscy mogą się zgodzić, Twoje Arduino może zabrać Cię tylko tak daleko i pewnego dnia będziesz musiał przejść na natywną platformę mikrokontrolera. Ten proces może być znacznie łatwiejszy dzięki tej płycie rozwojowej STM32, ponieważ może ona obsługiwać wszystkie osłony Arduino, aby pomóc Ci po stronie sprzętu, a także ma wiele wbudowanych bibliotek i funkcji, które pomogą Ci po stronie oprogramowania. Zapoznanie się również z mikrokontrolerami STM32 pomoże ci łatwo odkryć inne moduły programistyczne ST, takie jak SensorTile.Box, który sprawdziliśmy wcześniej. W tym artykule przyjrzyjmy się dokładnie płytom rozwojowym STM32 Nucleo-64 i nauczmy się ich używać.
Obecnie dostępnych jest wiele wersji płyt STM32 i ta konkretna w mojej dłoni nazywa się STM32F401 Nucleo-64. Nazwa STM32 oznacza, że mamy 32-bitowy mikrokontroler na naszej płytce rozwojowej, a nazwa Nucleo-64 oznacza, że mikrokontroler ma 64 piny. Podobnie, istnieje wiele innych wersji płyt Nucleo 64, takich jak STM32F103, STM32F303 itp., Ale kiedy już dowiesz się o jednej płytce, wszystkie pozostałe są dość podobne.
Objaśnienie sprzętowe płytki rozwojowej STM32 Nucleo 64
Zacznijmy od rozpakowania naszej płytki rozwojowej. Jak widać, kompletny pakiet składa się tylko z naszej płytki rozwojowej i karty instrukcji. Karta z instrukcją zawiera specyfikację kontrolera, jego wyprowadzenia, a na odwrocie mamy informacje o tym, jak zacząć i dostępne opcje toolchaina.
Przyglądając się planszy możemy stwierdzić, że jest ona podzielona na dwa regiony. Górna sekcja to debugger i programator ST-Link / V2, podczas gdy dolna sekcja to właściwa płyta rozwojowa. W ten sposób możesz łatwo zaprogramować i debugować swoją płytkę po wyjęciu z pudełka za pomocą dodatkowego kabla USB, który można podłączyć do portu USB mini na płycie.
Na pierwszy rzut oka może się wydawać, że na płycie jest dużo zworek i komponentów, ale wszystkie one są po to, aby nam ułatwić. Dwie zworki, które znajdziesz po obu stronach płytki CN11 i CN12, są w rzeczywistości zworkami zastępczymi. Te zworki mogą być używane do innych celów, jeśli zajdzie taka potrzeba w przyszłości. Dwie zworki na CN2 służą do połączenia sekcji programatora i debuggera z naszą płytką rozwojową. W przyszłości możesz usunąć te zworki, aby używać programatora dla innych mikrokontrolerów ST za pośrednictwem tych pinów. I ten pin złącza JP1 można zamknąć, aby ograniczyć prąd USB do 100 mA, jeśli pozostanie otwarty, maksymalny prąd wyniesie 300 mA. Tutaj mamy trójkolorową diodę LED (LD1), która zapala się na czerwono, gdy płyta jest zasilana i zmienia kolor na zielony, gdy płytka jest pomyślnie zaprogramowany, i zmienia kolor na pomarańczowy, gdy występuje awaria komunikacji.
Przechodząc do sekcji rozwoju, mamy tutaj nasz najważniejszy komponent, mikrokontroler STM32F401RET6. Jest to 64-pinowy 32-bitowy mikrokontroler z procesorem ARM Cortex M4 pracujący z częstotliwością 84 MHz. Posiada również 512 Kb Flash i 96 KB SRAM. Mikrokontroler ma 10 timerów 16-bitowych i 32-bitowych oraz jeden 12-bitowy przetwornik ADC. Posiada również trzy złącza USART, trzy I2C, cztery SPI i jeden port USB 2.0 do komunikacji zewnętrznej. Możesz sprawdzić arkusz danych STM32F401, aby uzyskać więcej informacji technicznych.
Teraz nadchodzi interesująca część, jak powiedziałem wcześniej, płyta obsługuje wszystkie osłony Arduino. Płytka ma dwa zestawy złączy, żeńskie styki są przeznaczone do osłon Arduino, które idealnie pasują do naszej osłony Wi-Fi ESP8266 i naszej osłony Semtech Arduino LoRa, jak widać na poniższym obrazku.
Pozostałe samce nazywane są pinami ST morpho, które mogą być użyte do wykorzystania pinów rozwiercających w naszym 64-pinowym mikrokontrolerze. Następnie mamy tutaj przycisk resetowania i konfigurowalny przez użytkownika przycisk, który jest podłączony do pinu PC13, a także tutaj diodę LED, która jest podłączona do pinu D13, tak jak Arduino. Aby zasilić płytę, możemy użyć portu USB lub bezpośrednio podać regulowane 5 V do E5V lub do pinu 5V tutaj. Pamiętaj, aby zmienić tę zworkę, aby wskazać, w jaki sposób zasilasz płytę; U5V wskazuje, że płyta jest zasilana przez USB. Mamy tu również inną interesującą zworkę zwaną IDD, której można użyć do zmierzenia prądu zużywanego przez mikrokontroler, podłączając amperomierz do tych pinów.
Programowanie płyt rozwojowych STM32 Nucleo 64
Przechodząc do sekcji oprogramowania, płyta ma ogromną bibliotekę i wsparcie programistyczne i może być programowana za pomocą Keil, IAR workbench i wielu innych IDE. Ale ciekawe jest to, że obsługuje środowisko programistyczne ARM Mbed i STM32Cube. Ze względu na ten artykuł zdecydowałem się skorzystać z platformy ARM Mbed, ponieważ jest to narzędzie online i uznałem je za bardzo interesujące, ponieważ można z nią korzystać nie tylko z płytami ST, ale także z wieloma innymi płytkami rozwojowymi, które wykorzystują mikrokontroler ARM.
Dla tych, którzy są nowi, ARM MBED to internetowa platforma programistyczna zapewniana przez samą ARM i zapewnia wbudowany system operacyjny, usługi w chmurze i funkcje bezpieczeństwa, aby łatwo tworzyć osadzone rozwiązania oparte na IoT. Jest to ogromna społeczność open source i szczegółowe informacje na jej temat będą wymagały osobnego artykułu.
Pierwsze kroki z STM32F401
Aby jednak rozpocząć, użyj kabla mini USB, aby podłączyć płytkę rozwojową STM32 do komputera. Po włączeniu zasilania należy zauważyć, że diody LED LD1 i LD3 świecą się na czerwono, a programowalna dioda LED LD2 będzie migać na zielono w ten sposób.
Zauważysz również nowy dysk flash na swoim komputerze o nazwie „NODE_F401RE”. Otwórz go, a znajdziesz dwa pliki, mianowicie details.txt i mbed.htm, jak pokazano poniżej.
Możesz uruchomić plik Mbed.htm, aby bezpośrednio rozpocząć programowanie swojej tablicy online za pomocą ramienia Mbed. Ale zanim tam dotrzemy, zainstalowaliśmy wymagane sterowniki i zarejestrowaliśmy się w Mbed. Wyszukaj oprogramowanie sterownika STSW-link009 i pobierz je bezpośrednio ze strony internetowej ST, zainstaluj sterownik i upewnij się, że urządzenie zostało poprawnie wykryte w menedżerze urządzeń, jak pokazano tutaj.
Wróć na platformę mbed, aby zarejestrować się na MBED.com za pomocą swoich poświadczeń. Następnie kliknij plik MBED.HTM, a zostaniesz powitany następną stroną.
Przewiń w dół i kliknij „ Otwórz kompilator Mbed ”. Jak widać, kompilator rozpoznał już naszą platformę jako Nucleo-F401RE i dostarcza nam wiele podstawowych przykładowych programów. Na razie pozwól mi wybrać „ Kod migający diody LED ” i zmodyfikować go tak, aby dioda LED wyłączała się za każdym razem, gdy naciskam przycisk.
Gdy kod jest gotowy, jak pokazano poniżej, możesz kliknąć przycisk kompilacji, który zapewni ci plik bin, po prostu skopiuj plik bin i wklej go na dysk flash, aby zaprogramować tablicę. Zauważysz, że dioda LD1 zmieni kolor na zielony po zakończeniu programowania. Teraz naciśnij niebieski przycisk, a zauważysz, że zielona dioda LED gaśnie. W ten sposób możesz wypróbować dowolny z przykładowych programów, aby nauczyć się różnych funkcji tablicy. Możesz także wrócić do strony głównej, aby uzyskać inne dokumenty techniczne i wsparcie społeczności.
Możesz również obejrzeć film, do którego link znajduje się na dole tej strony, aby zobaczyć pełną recenzję na tej tablicy.
Wniosek
Ogólnie uważam, że te tablice są doskonałym wyborem, jeśli próbujesz podnieść swoje umiejętności i rozwijać zaawansowane aplikacje. Dzięki praktycznemu wsparciu sprzętowemu i społeczności internetowej, krzywa uczenia się tych płyt jest również dość prosta, więc możesz spróbować. Mam nadzieję, że podobał Ci się ten artykuł i nauczyłeś się z niego czegoś przydatnego. Jeśli masz jakieś pytania, zostaw je w sekcji komentarzy poniżej lub skorzystaj z naszych forów, aby uzyskać odpowiedzi na inne pytania techniczne.