- Konfigurowanie Arduino IDE
- Przygotowanie płyty STM8S103F3 do programowania Arduino IDE
- Miga dioda LED na STM8S103F3 przy użyciu Arduino
- Mapowanie pinów Arduino dla STM8S103F3
- Kompilowanie bibliotek SPL na Arduino IDE
Arduino niewątpliwie urosło w przyjazne dla użytkownika i szybkie narzędzie do prototypowania, dzięki swojej wspierającej społeczności użytkowników. Dziś, ze względu na swój open-source'owy charakter, platforma jest ograniczona nie tylko do płyt Arduino, ale także do innych płyt programistycznych, takich jak NodeMCU, ESP8266, STM32, MSP430 itp., Można ją również programować z Arduino IDE. Jeśli chcesz wiedzieć, jak to zrobić, skorzystaj z poniższych linków.
- Programowanie NodeMCU z Arduino IDE
- Programowanie ESP8266 z Arduino IDE
- Programowanie STM32 z Arduino IDE
- Programowanie MSP430 z Energeią (podobnie jak Arduino)
Bez wątpienia Arduino IDE jest świetne dla początkujących, ale nadal, dla rozwoju zawodowego, dobrze jest pracować z natywnymi środowiskami programistycznymi i kompilatorami. Podobnie jak MPLABX dla mikrokontrolerów PIC i studio Code Composer dla mikrokontrolerów TI. Korzystanie z natywnej platformy pozwala nam pracować na poziomie rejestru (nawet na poziomie asemblera, jeśli jest to wymagane), dzięki czemu program ma większą wydajność pamięci. Dlatego właśnie zaczęliśmy samouczek dotyczący mikrokontrolera STM8Sjako platformę wybrano kompilator STVD i Cosmic C, które można pobrać i używać za darmo. Niestety, STVD to bardzo stare IDE i podczas pracy z nim czuje się jak w latach 90-tych. Co więcej, narzędzie programistyczne STVP również nie jest dobrze zintegrowane z IDE i musisz go używać osobno. Zwiększa to czas kompilacji i przesyłania oraz utrudnia programowanie i debugowanie.
Poszedłem w poszukiwaniu alternatyw i wtedy na ratunek przyszło Arduino IDE. Narzędzie o nazwie Sduino autorstwa Michaela Mayora pozwala nam łatwo programować mikrokontrolery STM8s (większość popularnych) bezpośrednio z Arduino IDE i zajmuje tylko kilka minut, aby to skonfigurować i rozpocząć. Co ciekawe, oprócz obsługi programowania w stylu Arduino, Sduino pozwala nam również korzystać ze standardowej biblioteki urządzeń peryferyjnych (SPL), innymi słowy, możemy prawie skompilować ten sam program na STVD do Arduino IDE. Chociaż Sduino jest fajnym narzędziem, wciąż jest w fazie rozwoju i nie obsługuje jeszcze wielu bibliotek i funkcji Arduino. Biorąc to pod uwagę, nauczmy się, jak używać Arduino IDE z płytką rozwojową STM8S103F.Jeśli jesteś zupełnie nowy na tej płycie, zapoznaj się z samouczkiem STM8S103F. Oprócz STM8S103F, Sduino obsługuje również inne mikrokontrolery STM8S, takie jak STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14 itd. Procedura wyjaśniona w tym samouczku jest taka sama dla wszystkich.
Konfigurowanie Arduino IDE
Krok 1: Jeśli jesteś zupełnie nowy w środowisku Arduino, pobierz Arduino na podstawie swojego systemu operacyjnego i zainstaluj go.
Krok 2: Postępuj zgodnie z Plik -> Preferencje, aby otworzyć okno preferencji i wklej poniższy link w polu tekstowym dodatkowych tablic zarządzających adresem URL i kliknij OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Krok 3: Postępuj zgodnie z Narzędziami -> Tablica -> Menedżer tablicy, aby otworzyć okno dialogowe menedżera tablicy i wyszukać „sduino”. Kliknij zainstaluj i zamknij okno dialogowe po zakończeniu instalacji.
Krok 4: Uruchom ponownie IDE, a następnie wybierz Narzędzia -> Płytka -> STM8S103F3 . Możesz wybrać inne płyty, jeśli masz inną płytę programistyczną.
Teraz Arduino IDE jest gotowe do programowania płytki rozwojowej STM8S103F3. Ustawmy płytkę, podłączmy ją do komputera i zaprogramujmy proste mignięcie diody.
Przygotowanie płyty STM8S103F3 do programowania Arduino IDE
Połącz ST-Link V2 z płytą rozwojową, jak pokazano poniżej.
Połączenia są dość proste, a najlepsze jest to, że nie potrzebujesz żadnych zewnętrznych komponentów. Moja konfiguracja sprzętu do programowania jest pokazana poniżej, właśnie użyłem żeńskich przewodów do połączenia. Pamiętaj jednak, że pinout twojego ST-Link może różnić się od mojego, upewnij się, że postępujesz zgodnie z pinem na urządzeniu przed wykonaniem połączeń.
Wykonaj połączenie i podłącz urządzenie do komputera, instalacja sterownika powinna rozpocząć się automatycznie. Możesz użyć menedżera urządzeń, aby upewnić się, że komputer prawidłowo wykrył ST-LINK V2. Zauważysz również, że testowa dioda LED na płycie miga, jeśli jest to pierwsze zasilanie płyty.
Miga dioda LED na STM8S103F3 przy użyciu Arduino
Teraz dla prostego migania diody LED możemy użyć programu blink z sekcji przykładowej. Śledź Plik -> Przykład -> Generic_Example -> Podstawy -> Blink .
Pełny program migania wbudowanej diody LED pokazano poniżej:
void setup () {// zainicjuj cyfrowy pin LED_BUILTIN jako wyjście. pinMode (LED_BUILTIN, OUTPUT); } // funkcja pętli działa w kółko w nieskończoność void loop () {digitalWrite (LED_BUILTIN, HIGH); // włącz diodę LED (WYSOKI poziom napięcia) opóźnienie (1000); // czekaj na drugi digitalWrite (LED_BUILTIN, LOW); // wyłącz diodę LED, ustawiając napięcie LOW delay (1000); // Poczekaj sekundę }
Jak widać, jest to bardzo podobne do programu Blink Arduino. Aby załadować program, upewnij się, że Twoja płyta jest podłączona przez st-link v2, jak omówiono powyżej, i wybierz programator jako „ST-Link / V2”, jak pokazano poniżej.
Uwaga: W przeciwieństwie do płyt Arduino, nie musisz wybierać odpowiedniego portu COM do programowania płytki. Port COM będzie używany tylko do komunikacji szeregowej.
Po wybraniu portu COM załadowanie kodu jest również bardzo proste. Wystarczy nacisnąć przycisk przesyłania (zaznaczony na czerwono poniżej), a kod zostanie automatycznie skompilowany i przesłany na naszą forum.
Czyli program jest wgrywany bezpośrednio na płytkę i powinieneś zobaczyć migającą diodę na płycie. Żadnego zewnętrznego oprogramowania do przesyłania, nic. To takie proste. Możesz obejrzeć wideo na dole tej strony, aby sprawdzić działanie.
Mapowanie pinów Arduino dla STM8S103F3
Jeśli chcesz przejść dalej, musisz wiedzieć, jak zaadresować każdy pin na płycie rozwojowej STM8S103F3. Mapowanie pinów można zrozumieć na poniższym obrazku:
Na przykład ze schematu obwodu płytki STM8S103F3 wiemy, że wbudowana dioda LED jest podłączona do PB5. Aby zaadresować ten pin na Arduino, musimy użyć 3, stąd program można zapisać jako-
void setup () {// zainicjuj cyfrowy pin LED_BUILTIN jako wyjście. pinMode (3, WYJŚCIE); } // funkcja pętli działa w kółko w nieskończoność void loop () {digitalWrite (3, LOW); // włącz diodę LED (WYSOKI poziom napięcia) opóźnienie (1000); // czekaj na sekundę digitalWrite (3, HIGH); // wyłącz diodę LED, ustawiając napięcie LOW delay (1000); // Poczekaj sekundę }
Kompilowanie bibliotek SPL na Arduino IDE
Jak wspomniano wcześniej, możemy również skorzystać z biblioteki SPL na Arduino IDE. Jeśli pamiętasz, w naszym poprzednim samouczku STM8S GPIO napisaliśmy kod migający na wbudowanej diodzie LED, a także na zewnętrznej diodzie LED za pomocą przycisku. Ten sam kod z nielicznymi modyfikacjami można również skompilować na Arduino. Zmodyfikowany kod pokazano poniżej.
# zdefiniować Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // przygotuj Port A do pracy GPIO_DeInit (GPIOB); // przygotuj Port B do pracy // Zadeklaruj PA2 jako wejście podciągnij pin GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Zadeklaruj PA3 jako pin wyjścia Push Pull GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Zadeklaruj PB5 jako push pull Pin wyjściowy GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // jeśli naciśnięto przycisk GPIO_WriteLow (Green_LED); // LED ON w przeciwnym razie GPIO_WriteHigh (Green_LED); // LED WYŁĄCZONY GPIO_WriteReverse (GPIOB, GPIO_PIN_5); opóźnienie (100); }
Podsumowując, Arduino IDE wraz z Sduino to bardzo dobra opcja, jeśli chcesz szybko rozpocząć programowanie z STM8S. Jednak platforma jest nadal w fazie rozwoju i wiele bibliotek Arduino nie zostało jeszcze obsługiwanych. Jeśli jednak chcesz zagłębić się i przyczynić się do rozwoju, byłoby wspaniale. Ale ze względu na naukę będę kontynuował serię samouczków z kompilatorem STVD i cosmic C.