LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
Artykuły

Bluepill i Blackpill – niedrogie płytki rozwojowe dla mikrokontrolerów STM32

Programowanie w płytki Blackpill w Arduino

Płytka Blackpill zawiera bootloader, który umożliwia programowanie płytki za pomocą środowiska Arduino.

Aby zaprogramować płytkę za pomocą Arduino należy zainstalować na komputerze STM32CubeProgrammer. Program ten jest dostępny na stronie: https://www.st.com/en/development-tools/stm32cubeprog.html. Procedura instalacji jest standardowa, taka jak dla wszystkich programów w systemie Windows.

Po instalacji programu potrzebujemy jeszcze biblioteki Stm32Duino, umożliwiającej obsługę płytek z mikrokontrolerami STM32 na platformie Arduino.

Pełny kurs STM32Duino jest dostępny w zasobach portalu Mikrokontroler.pl: STM32Duino: Arduino dla STM32

Konfiguracja środowiska

Aby zainstalować STM32Duino, w programie Arduino IDE należy wejść w menu Plik > Preferencje. Następnie w polu Dodatkowe adresy URL do menadżera płytek należy wpisać adres

https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json

Następnie należy zatwierdzić wybór przyciskiem OK.

Rysunek 5. Wklejanie adresu STM32Duino do menadżera płytek Arduino

W kolejnym kroku należy wejść w menu Narzędzia > Płytka > Menadżer Płytek. Następnie w pasku na górze okna menadżera płytek trzeba wpisać „stm32”. Ukaże się pakiet STM32 Cores, który należy zainstalować przyciskiem Instaluj. Instalacja pakietu może zająć kilka minut.

Rysunek 6. Pakiet STM32 Cores w menadżerze płytek Arduino

Aby ustawić płytkę Blackpill jako płytkę, na którą będzie wgrywane oprogramowanie, należy w menu wybrać Narzędzia > Płytka > Generic STM32F4 Series. W menu Narzędzia > Board part number należy ustawić Blackpill F401CC dla płytki z mikrokontrolerem STM32F401 lub Blackpill F411CE dla płytki z mikrokontrolerem STM32F411. Należy też ustawić w Narzędzia > U(S)ART support opcję Enabled (generic ‘Serial’), natomiast opcję Narzędzia > USB support na CDC (generic serial supercede U(S)ART.). Na koniec w menu Narzędzia > Upload method trzeba ustawić opcję STM32CubeProgrammer (DFU).

Rysunek 7. Prawidłowo ustawione opcje w menu narzędzia dla płytek Blackpill

Podłączanie płytki do komputera

Aby prawidłowo podłączyć płytkę Blackpill w trybie DFU do komputera należy podczas podłączania przytrzymać przycisk BOOT0. To czy płytka została prawidłowo podłączona można sprawdzić w programie STM32CubeProgrammer. Wystarczy w pasku po lewej stronie ustawić tryb połączenia na USB i nacisnąć przycisk odświeżający. Jeśli w opcji Port ukaże się USB1 i poniżej numer seryjny płytki, to oznacza, że podłączenie płytki przebiegło prawidłowo. Warto zauważyć, że połączenie tego programu z płytką za pomocą przycisku Connect może spowodować, że STM32CubeProgrammer „zajmie” płytkę i środowisko Arduino IDE nie będzie już mogło wgrać kodu.

Rysunek 8. Wykrywanie płytki przez STM32CubeProgrammer

Przykładowy kod

Teraz można wgrać kod na płytkę za pomocą Arduino IDE. Poniżej zaprezentowałem prosty kod mrugający diodą LED zamontowaną na płytce.

Listing 1. Przykładowy kod w Arduino na płytkę Blackpill

void setup() {
pinMode(PC13, OUTPUT);
}

void loop() {
digitalWrite(PC13, HIGH); 
delay(1000);                    
digitalWrite(LED_BUILTIN, LOW);  
delay(1000);                   
}

Jest to właściwie przerobiony kod ze standardowego przykładu na Arduino pod nazwą „Blink”. Jedyną zmianą jest wpisanie odpowiedniego pinu – PC13 – do którego na płytce podłączona jest dioda.

Aby wgrać kod na płytkę należy nacisnąć przycisk „Wgraj” ze strzałką w prawo. Nastąpi teraz kompilacja programu i zostanie on umieszczony na płytce, a następnie uruchomiony.