- Nødvendig materiale
- Kretsdiagram
- Laster opp Maple Boot loader til STM32 Development board
- Forbereder Arduino IDE og installerer driverne
- Programmering av STM32 (Blue Pill) direkte via USB-port
Den STM32 Development Board boliger STM32F103C8 Microcontroller blir stadig mer populært takket være sin ARM Cortex M3 arkitektur, det har høy operasjonell hastighet og mer perifere alternativer. Siden dette kortet enkelt kan programmeres ved hjelp av Arduino IDE, har det blitt et foretrukket valg for mange hobbyister og ingeniører for rask prototyping.
I vår forrige opplæring lærte vi det grunnleggende om STM32 Development Board og programmerte det også til å blinke en LED. Men det var en stor ulempe med det. For å programmere styret brukte vi en FTDI programmeringsmodul og måtte også veksle boot 0-jumperen mellom og en posisjon mens vi lastet opp og testet en kode, noe som helt sikkert er en skremmende oppgave. Også mini-USB-porten på utviklingskortet var helt ubrukt. Årsaken til å gjøre det er at når STM32 utviklingskort kjøpes , følger det ikke med en Arduino-klar oppstartslaster, og dermed vil kortet ikke bli oppdaget av datamaskinen din når den er koblet til via USB.
Forhåpentligvis eksisterer det imidlertid en eksperimentell bootloader utviklet av LeafLabs for Maple mini boards. Denne opplasteren kan bli blinket inn i STM32 en gang, og deretter kan vi direkte bruke USB-porten på STM32-kortet til å laste opp programmer, akkurat som alle andre Arduino-kort. Denne boot loader er imidlertid fremdeles i utviklingsfasen på tidspunktet for dokumentasjonen av denne opplæringen, og er ikke tilrådelig for kritiske applikasjoner. Før du går videre med denne veiledningen, må du sørge for at du har lest den forrige veiledningen for å forstå det grunnleggende på dette tavlen, inkludert detaljer om spesifikasjonene og pin-outs.
Nødvendig materiale
- STM32 - (BluePill) utviklingskort (STM32F103C8)
- FTDI programmerer
- Brettbrett
- Koble ledninger
- Bærbar PC med Internett
Kretsdiagram
For å programmere STM32 Blue Pill-kortet direkte gjennom USB-porten, må vi først blinke Maple boot loader i MCU. For å gjøre dette må vi bruke et Serial FTDI-kort. Dette kortet er koblet til Rx og Tx-pinnen på STM32 som vist nedenfor.
Vcc-stiften på FTDI-kortet er koblet til STM32 5V-stiften for strøm på kortet. Bakken er koblet til bakken til STM32. Rx- og Tx-pinnen på FTDI-kortet er koblet til henholdsvis A9- og A10-pinnen på STM32. Der A9 er Tx-pinnen til STM32 MCU, og A10 er Rx-pinnen.
Forsikre deg om at start 0-jumperpinnen på brettet er satt til 1 (programmeringsmodus) mens du laster opp boot loader. Når startlasteren har blinket, kan denne pinnen byttes tilbake til utgangsposisjon (driftsmodus).
Laster opp Maple Boot loader til STM32 Development board
Når vi har gjort den ovennevnte tilkoblingen, kobler du FTDI-kortet til datamaskinen din og følger trinnene for å blinke boot loader inn i STM32.
Trinn 1: Vi må laste ned programfiler for boot loader (bin-fil) fra github-siden. Det er mange versjoner av bin-filen, for Blue Pill-kortet bruker du denne github-lenken og klikker på nedlastingsknappen for å laste ned bin-filen.
Trinn 2: Deretter må vi laste ned og installere STM Flash loader-programvaren for å blinke den nedlastede bin-filen i STM32. Klikk på denne lenken for å komme inn på ST-nettstedet, bla til bunnen og klikk på hent programvare
Trinn 3: For å laste ned programvaren må du oppgi e-postadressen din, og nedlastningskoblingen vil bli sendt til din e-post. Følg deretter lenken tilbake til nettstedet og klikk på hent programvare på nytt, og du laster ned. Ja, det er litt frustrerende, men det er slik det skal gjøres. Ikke glem å sjekke spam-mappen din for e-post, noen ganger tar det noen minutter før e-posten ankommer.
Trinn 4: Når programvaren er lastet ned, må du kontrollere at STM32-kortet er koblet til datamaskinen din gjennom FTDI-kortet, og deretter starte programvaren. Programvaren oppdager automatisk COM-porten hvis den ikke bruker Enhetsbehandling, og sørger for at du velger riktig COM-portnummer. I mitt tilfelle er det COM4. La resten av innstillingen være slik den er som vist nedenfor.
Trinn 5: Klikk på Neste-knappen to ganger, og programvaren vil igjen automatisk oppdage tavledetaljene og vises som vist nedenfor. Brettet vi bruker er STM32F1 med 128K flashminne.
Trinn 6: I neste trinn velger du Last ned til enhet og blar til stedet der vi lastet ned bin-filen vår i trinn 1, og velg den. Klikk på neste.
Trinn 7: Programvaren vil laste ned noen nødvendige filer som vist nedenfor, og deretter begynne prosessen med å blinke.
Trinn 8: Når blinkingen er fullført, får vi skjermbildet nedenfor. Klikk på lukk og avslutt applikasjonen. Vi har blinket STM32-kortet med Arduino boot loader. Nå må vi forberede Arduino IDE og installere driverne før vi kan programmere STM32-kortet.
Forbereder Arduino IDE og installerer driverne
Følg trinnene nedenfor for å laste ned og klargjøre Arduino IDE som skal brukes med STM 32 Development-kortet.
Trinn 1: - Hvis du ennå ikke har installert Arduino IDE, laster du ned og installerer den fra denne lenken. Forsikre deg om at du velger riktig operativsystem.
Trinn 2: - Når du har installert Arduino IDE, åpner du og laster ned de nødvendige pakkene for STM32-kortet. Dette kan gjøres ved å velge Fil -> Innstillinger .
Trinn 3: - Ved å klikke på Innstillinger, åpnes dialogboksen nedenfor. Lim inn lenken nedenfor i den ekstra Boards Manager URL-tekstboksen
dan.drown.org/stm32duino/package_STM32duino_index.json
og trykk OK.
Trinn 4: - Gå nå til Verktøy -> Styrer -> Styreleder . Dette åpner dialogboksen Boards manager, søker etter “STM32F1” og installerer pakken som vises.
Trinn 5: Etter at pakken er installert, naviger til C: \ Program Files (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win hvor du finner install_drivers.bat og install_STM_COM_drivers.bat .
Trinn 6: Klikk på begge flaggermusfilene og installer driverne. Du får en DOS-skjerm som vist nedenfor.
Nå er Arduino IDE forberedt for programmering av STM32 (Blue Pill) Development Board, og driverne er også installert.
Programmering av STM32 (Blue Pill) direkte via USB-port
Fjern FTDI-kortet og alle eksisterende tilkoblinger fra STM32. Bare bruk mikro-USB-porten på STM32-kortet for å koble den til datamaskinen som vist nedenfor. Forsikre deg om at jumper 0-pinnen er plassert tilbake på 0 (driftsmodus). Heretter trenger vi ikke å bytte hopperen lenger for å laste opp og kjøre programmene.
Datamaskinen din skal kunne oppdage styret nå. Vent litt hvis du ser at noen ekstra drivere blir installert. Gå deretter inn i Enhetsbehandling og sjekk om STM32-kortet ditt blir oppdaget under COM- og portdelen som vist nedenfor. Mine er koblet til COM8 med navnet Maple Mini.
Gå til Verktøy og bla ned for å finne Generic STM32F103C-serien som vist nedenfor. Forsikre deg om at varianten er 64k Flash-type , CPU-hastighet er 72MHz og endre opplastingsmetoden til STM32duino Bootloader . Velg også riktig COM-port i henhold til den i enhetsbehandleren.
Når alle endringene er gjort, sjekk nederst til høyre på Arduino IDE, og du bør legge merke til at følgende innstilling blir satt. STM32-kortet mitt er koblet til COM8, men ditt kan variere
Nå er Arduino IDE klar til å programmere STM 32 Blue Pill Development Boards. La oss laste opp prøveblinkprogrammet fra Arduino IDE til STM32 Blue Pill-kortet for å sikre at alt fungerer som det skal. Eksempelprogrammet finner du på
I eksempelprogrammet som åpnes, må vi gjøre en liten endring. Som standard blir programmet skrevet for PB1, men på bordet vårt er innebygd LED koblet til PC13, så bytt ut alle PB1 med PC13, og vi er gode til å fortsette. Det komplette eksempelprogrammet som er modifisert finner du også nederst på denne siden.
Koden inne i sløyfefunksjonen alene er vist nedenfor, hvor vi kan legge merke til at PC13-pinnen holdes HØY (på) i 1000 millisekunder og deretter slås LAV (av) i ytterligere 1000 millisekunder, og dette gjøres i uendelige tider siden den er i sløyfefunksjon . Dermed ser LED ut til å blinke med et intervall på 1000 millisekunder.
digitalWrite (PC13, HIGH); // slå lysdioden på (HØY er spenningsnivået) forsinkelse (1000); // vent på en annen digitalWrite (PC13, LOW); // slå av lysdioden ved å gjøre spenningen lav forsinkelse (1000); // vent litt
Trykk på opplastingsknappen på Arduino IDE, og programmet ditt skal samles og lastes opp. Hvis alt har fungert som forventet, bør du se følgende på Arduino IDE-konsollen.
Hvis programmet har blitt lastet opp vellykket, bør du se den grønne LED-lampen blinke med ett sekunds intervall som vist i videoen nedenfor. Du kan også fikle med programmet for å øke eller redusere forsinkelsen. Nå kan du begynne å bruke STM32 (Blue Pill) Development-kortet som alle andre Arduino-kort, det vil si at du ikke lenger trenger å endre posisjonen til hoppere eller bruke ekstern maskinvare for å laste opp og teste programmer.
Håper du forsto opplæringen og syntes det var nyttig å komme i gang med STM32 Board. Hvis du har problemer, la dem være i kommentarseksjonen, fortell meg også hvilke prosjekter vi skal prøve med dette STM32-kortet i fremtiden.