- Nødvendige materialer
- Kredsløbsdiagram
- Uploade Maple Boot loader til STM32 Development board
- Forberedelse af Arduino IDE og installation af drivere
- Programmering af STM32 (blå pille) direkte gennem USB-port
Den STM32 Development Board boliger STM32F103C8 Microcontroller bliver stadig populær takket være sin ARM Cortex M3 arkitektur, det har høj operationel hastighed og mere perifere muligheder. Også siden dette kort let kan programmeres ved hjælp af Arduino IDE, er det blevet et foretrukket valg for mange hobbyister og ingeniører til hurtig prototyping.
I vores tidligere tutorial lærte vi det grundlæggende i STM32 Development Board og programmerede det også til at blinke en LED. Men der var en enorm ulempe med det. For at programmere bestyrelsen brugte vi et FTDI programmeringsmodul og måtte også skifte boot 0-jumper mellem og 1 position, mens vi uploader og tester en kode, hvilket helt sikkert er en skræmmende opgave. Mini-USB-porten på Udviklingskortet blev også efterladt totalt ubrugt. Årsagen til at gøre det er, at når STM32-udviklingskortet købes , leveres det ikke med en Arduino-klar bootloader, og derfor vil kortet ikke blive opdaget af din computer, når det er tilsluttet via USB.
Forhåbentlig findes der dog en eksperimentel boot loader udviklet af LeafLabs til Maple mini boards. Denne boot loader kan blinkes ind i STM32 en gang, og derefter kan vi direkte bruge USB-porten på STM32-kortet til at uploade programmer ligesom alle andre Arduino-kort. Denne boot loader er dog stadig i udviklingsfasen på tidspunktet for dokumentationen af denne tutorial og anbefales ikke til kritiske applikationer. Før du går videre med denne tutorial, skal du sørge for at have læst den foregående tutorial for at forstå det grundlæggende på dette kort, herunder detaljer om specifikationerne og pin-outs.
Nødvendige materialer
- STM32 - (BluePill) Udviklingskort (STM32F103C8)
- FTDI programmør
- Brødbræt
- Tilslutning af ledninger
- Bærbar computer med internet
Kredsløbsdiagram
For at programmere STM32 Blue Pill-kortet direkte via USB-porten skal vi først blinke Maple boot loader i MCU. For at gøre dette skal vi bruge et serielt FTDI-kort. Dette kort er tilsluttet Rx- og Tx-stiften på STM32 som vist nedenfor.
Vcc-stiften på FTDI-kortet er tilsluttet STM32 5V-stiften til strømforsyningen. Jorden er forbundet til jorden af STM32. Rx- og Tx-stiften på FTDI-kortet er tilsluttet henholdsvis A9- og A10-stiften på STM32. Hvor A9 er Tx-stiften på STM32 MCU, og A10 er Rx-stiften.
Sørg for, at start 0-jumperpind på tavlen er indstillet til 1 (programmeringstilstand), mens du uploader boot loader. Når boot loader er blinket, kan denne pin skiftes tilbage til udgangsposition (driftstilstand).
Uploade Maple Boot loader til STM32 Development board
Når vi har oprettet ovenstående forbindelse, skal du forbinde FTDI-kortet til din computer og følge trinene for at blinke boot loader i STM32.
Trin 1: Vi er nødt til at downloade binære filer til binærprogrammer til boot loader (bin-fil) fra github-siden. Der er mange versioner af bin-filen, for Blue Pill-kortet skal du bruge dette github-link og klikke på download-knappen for at downloade bin-filen.
Trin 2: Dernæst skal vi downloade og installere STM Flash-loader-softwaren for at blinke den downloadede bin-fil i STM32. Klik på dette link for at komme ind på ST-webstedet, rul ned til bunden og klik på Hent software
Trin 3: For at downloade softwaren skal du indtaste din e-mail-adresse, og downloadlinket sendes til din e-mail. Følg derefter linket tilbage til webstedet, og klik på hent software igen, så downloader du. Ja, det er lidt frustrerende, men sådan skal det gøres. Glem ikke at kontrollere din spam-mappe for e-mailen, nogle gange tager det et par minutter for e-mailen at ankomme.
Trin 4: Når softwaren er downloadet, skal du sørge for, at dit STM32-kort er tilsluttet til din computer gennem FTDI-kort, og start derefter softwaren. Softwaren registrerer automatisk COM-porten, hvis den ikke bruger Enhedshåndtering, og sørg for at vælge det korrekte COM-portnummer. I mit tilfælde er det COM4. Lad resten af indstillingen være som vist nedenfor.
Trin 5: Klik på knappen Næste to gange, og softwaren registrerer igen automatisk kortoplysningerne og vises som vist nedenfor. Det kort, vi bruger, er STM32F1 med 128K flashhukommelse.
Trin 6: I det næste trin skal du vælge Download til enhed og gennemse den placering, hvor vi downloadede vores bin-fil i trin 1, og vælg den. Klik på næste.
Trin 7: Softwaren downloader nogle nødvendige filer som vist nedenfor og begynder derefter processen med at blinke.
Trin 8: Når blinkingen er fuldført, får vi nedenstående skærmbillede. Klik på luk og afslut applikationen. Vi har blinket STM32-kortet med Arduino boot loader med succes. Nu skal vi forberede Arduino IDE og installere driverne, inden vi kan programmere STM32-kortet.
Forberedelse af Arduino IDE og installation af drivere
Følg nedenstående trin for at downloade og forberede Arduino IDE til brug sammen med STM 32 Development Board.
Trin 1: - Hvis du endnu ikke har installeret Arduino IDE, skal du downloade og installere det fra dette link. Sørg for at vælge dit korrekte operativsystem.
Trin 2: - Efter installation af Arduino IDE skal du åbne og downloade de nødvendige pakker til STM32-kortet. Dette kan gøres ved at vælge Filer -> Indstillinger .
Trin 3: - Ved at klikke på Indstillinger åbnes nedenstående dialogboks. Indsæt nedenstående link i det ekstra Boards Manager URL-tekstfelt
dan.drown.org/stm32duino/package_STM32duino_index.json
og tryk på OK.
Trin 4: - Gå nu til Tool -> Boards -> Board Manager . Dette åbner dialogboksen Boards manager, søger efter “STM32F1” og installerer den pakke, der vises.
Trin 5: Når pakken er installeret, skal du navigere til C: \ Program Files (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win, hvor du finder install_drivers.bat og install_STM_COM_drivers.bat .
Trin 6: Klik på begge batfilerne og installer driverne. Du får en DOS-skærm som vist nedenfor.
Nu er Arduino IDE forberedt til programmering af STM32 (Blue Pill) Development Board, og driverne er også installeret.
Programmering af STM32 (blå pille) direkte gennem USB-port
Fjern FTDI-kortet og alle eksisterende forbindelser fra din STM32. Brug bare mikro-USB-porten på STM32-kortet til at slutte den til computeren som vist nedenfor. Sørg for, at jumper 0-stiften er placeret tilbage på 0 (driftstilstand). Herefter behøver vi ikke skifte jumper længere for at uploade og køre programmerne.
Din computer skal være i stand til at opdage bestyrelsen nu. Vent et stykke tid, hvis du ser, at yderligere drivere bliver installeret. Gå derefter ind i Enhedshåndtering og kontroller, om dit STM32-kort er opdaget under COM- og portafsnittet som vist nedenfor. Mine er forbundet til COM8 med navnet Maple Mini.
Gå til Værktøjer, og rul ned for at finde Generic STM32F103C-serien som vist nedenfor. Sørg derefter for, at varianten er 64k Flash-type , CPU-hastighed er 72MHz, og skift uploadmetoden til STM32duino Bootloader . Vælg også den korrekte COM-port i henhold til den i din enhedsadministrator.
Når alle ændringer er foretaget, skal du kontrollere nederste højre hjørne af Arduino IDE, og du skal bemærke, at følgende indstilling er indstillet. Mit STM32-kort er tilsluttet COM8, men dit kan variere
Nu er Arduino IDE klar til at programmere STM 32 Blue Pill Development Boards. Lad os uploade prøveblinkprogrammet fra Arduino IDE til STM32 Blue Pill-kortet for at sikre, at alt fungerer korrekt. Eksempelprogrammet kan findes på
I det eksempelprogram, der åbnes, skal vi foretage en lille ændring. Programmet vil som standard blive skrevet til PB1, men på vores bord er den indbyggede LED tilsluttet PC13, så udskift al PB1 med PC13, og vi er gode til at fortsætte. Det komplette eksempelprogram, der er ændret, kan også findes nederst på denne side.
Koden inde i sløjfefunktionen alene er vist nedenfor, hvor vi kan bemærke, at PC13-stiften holdes HØJ (til) i 1000 millisekunder og derefter drejes LAV (fra) i yderligere 1000 millisekunder, og dette gøres i uendelige tider, da det er i loop- funktion. Således ser LED ud til at blinke med et interval på 1000 millisekunder.
digitalWrite (PC13, HIGH); // tænd lysdioden (HIGH er spændingsniveauet) forsinkelse (1000); // vent på en anden digitalWrite (PC13, LOW); // sluk lysdioden ved at gøre spændingen lav forsinkelse (1000); // vent et øjeblik
Tryk på upload-knappen på Arduino IDE, og dit program skal kompileres og uploades. Hvis alt har fungeret som forventet, skal du se følgende på din Arduino IDE-konsol.
Hvis programmet er uploadet med succes, skal du se den grønne LED blinke med et interval på 1 sekund som vist i videoen nedenfor. Du kan også fikle rundt med programmet for at øge eller mindske forsinkelsen. Nu kan du begynde at bruge STM32 (Blue Pill) Development board som alle andre Arduino boards, det vil sige, at du ikke længere behøver at ændre jumpers position eller bruge ekstern hardware til at uploade og teste programmer.
Håber du har forstået vejledningen og fundet det nyttigt at komme i gang med STM32 Board. Hvis du har problemer, skal du lade dem være i kommentarsektionen, så fortæl mig også, hvilke projekter vi skal prøve med dette STM32-kort i fremtiden.