- Material som krävs
- Kretsschema
- Ladda upp Maple Boot Loader till STM32 Development Board
- Förbereda Arduino IDE och installera drivrutinerna
- Programmering av STM32 (Blue Pill) direkt via USB-port
Den STM32 Development Board bostäder STM32F103C8 Microcontroller blir allt populärare tack vare sin ARM Cortex M3 arkitektur, har hög arbetshastighet och mer perifera alternativ. Eftersom detta kort enkelt kan programmeras med hjälp av Arduino IDE har det blivit ett föredraget val för många hobbyister och ingenjörer för snabb prototypning.
I vår tidigare handledning lärde vi oss grunderna för STM32 Development Board och programmerade också att den skulle blinka en LED. Men det var en enorm nackdel med det. För att programmera styrelsen använde vi en FTDI-programmeringsmodul och var också tvungen att växla mellan start 0-bygeln och en position medan vi laddade upp och testade en kod, vilket säkert är en skrämmande uppgift. Mini-USB-porten på utvecklingskortet lämnades också helt oanvänd. Anledningen till att göra det är att när STM32-utvecklingskortet köps, kommer det inte med en Arduino-klar startladdare och därför kommer kortet inte att upptäckas av din dator när den är ansluten via USB.
Förhoppningsvis finns det dock en experimentell startladdare utvecklad av LeafLabs för Maple mini-kort. Denna startladdare kan blinkas in i STM32 en gång och därefter kan vi direkt använda USB-porten på STM32-kortet för att ladda upp program precis som alla andra Arduino-kort. Denna startladdare är dock fortfarande i utvecklingsstadiet vid tidpunkten för dokumentationen av denna handledning och rekommenderas inte för kritiska applikationer. Innan du fortsätter med den här handledningen, se till att du har läst den tidigare självstudien för att förstå grunderna på denna tavla inklusive detaljer om specifikationerna och pin-outs.
Material som krävs
- STM32 - (BluePill) Development Board (STM32F103C8)
- FTDI programmerare
- Bakbord
- Anslutande ledningar
- Bärbar dator med internet
Kretsschema
För att programmera STM32 Blue Pill-kortet direkt via USB-porten måste vi först blinka Maple boot loader i MCU. För att göra detta måste vi använda ett Serial FTDI-kort. Detta kort är anslutet till Rx- och Tx-stiftet på STM32 enligt bilden nedan.
Vcc-stiftet på FTDI-kortet är anslutet till STM32 5V-stiftet för strömförsörjning av kortet. Marken är ansluten till STM32-marken. RT- och Tx-stiftet på FTDI-kortet är anslutet till A9 respektive A10-stiftet på STM32. Där A9 är Tx-stift på STM32 MCU och A10 är Rx-stift.
Se till att start 0-bygeln på kortet är inställd på 1 (programmeringsläge) när du laddar upp startladdaren. När startlastaren har blinkat kan denna stift bytas tillbaka till utgångsläget (driftläge).
Ladda upp Maple Boot Loader till STM32 Development Board
När vi har gjort ovanstående anslutning ansluter du FTDI-kortet till din dator och följer stegen för att blinka startlastaren i STM32.
Steg 1: Vi måste ladda ner programfilerna för startladdning (bin-fil) från github-sidan. Det finns många versioner av bin-filen, för Blue Pill-kortet använder du denna github-länk och klickar på nedladdningsknappen för att ladda ner bin-filen.
Steg 2: Därefter måste vi ladda ner och installera mjukvaran STM Flash för att ladda ner den nedladdade binfilen till STM32. Klicka på den här länken för att komma in på ST-webbplatsen och bläddra till botten och klicka på hämta programvara
Steg 3: För att ladda ner programvaran måste du ange din e-postadress och nedladdningslänken skickas till din e-post. Följ sedan länken tillbaka till webbplatsen och klicka på hämta programvara igen så börjar du ladda ner. Ja, det är lite frustrerande men det är så det ska göras. Glöm inte att kontrollera din skräppostmapp för e-post, ibland tar det några minuter för e-postmeddelandet att komma fram.
Steg 4: Installera programvaran efter nedladdningen, se till att STM32-kortet är anslutet till din dator via FTDI-kortet och starta sedan programvaran. Programvaran kommer automatiskt att upptäcka COM-porten om den inte använder Enhetshanteraren och se till att du väljer rätt COM-portnummer. I mitt fall är det COM4. Lämna resten av inställningen så som den visas nedan.
Steg 5: Klicka två gånger på Nästa-knappen och programvaran kommer automatiskt att upptäcka kortinformation och visas som visas nedan. Kortet vi använder är STM32F1 med 128K flashminne.
Steg 6: I nästa steg, välj Ladda ner till enhet och bläddra till den plats där vi laddade ner vår bin-fil i steg 1 och välj den. Klicka på nästa.
Steg 7: Programvaran laddar ner några nödvändiga filer som visas nedan och börjar sedan att blinka.
Steg 8: När blinkningen har slutförts framgångsrikt får vi nedanstående skärm. Klicka på stäng och avsluta programmet. Vi har blinkat STM32-kortet med Arduino boot loader framgångsrikt. Nu måste vi förbereda Arduino IDE och installera drivrutinerna innan vi kan programmera STM32-kortet.
Förbereda Arduino IDE och installera drivrutinerna
Följ stegen nedan för att ladda ner och förbereda Arduino IDE som ska användas med STM 32 Development-kortet.
Steg 1: - Om du ännu inte har installerat Arduino IDE, ladda ner och installera den från den här länken. Se till att du väljer rätt operativsystem.
Steg 2: - Efter installationen av Arduino IDE öppnar du och laddar ner de nödvändiga paketen för STM32-kortet. Detta kan göras genom att välja Arkiv -> Inställningar .
Steg 3: - Klicka på Inställningar för att öppna dialogrutan som visas nedan. Klistra in länken nedan i den extra textrutan för Boards Manager URL
dan.drown.org/stm32duino/package_STM32duino_index.json
och tryck på OK.
Steg 4: - Gå nu till Tool -> Boards -> Board Manager . Detta öppnar dialogrutan Boards manager, söker efter “STM32F1” och installerar paketet som visas.
Steg 5: När paketet har installerats, navigerar du till C: \ Program Files (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win där du hittar install_drivers.bat och install_STM_COM_drivers.bat .
Steg 6: Klicka på båda batfilerna och installera drivrutinerna. Du får en DOS-skärm som visas nedan.
Nu är Arduino IDE förberedd för programmering av STM32 (Blue Pill) Development Board och drivrutinerna är också installerade.
Programmering av STM32 (Blue Pill) direkt via USB-port
Ta bort FTDI-kortet och alla befintliga anslutningar från din STM32. Använd bara USB-porten på STM32-kortet för att ansluta den till datorn enligt bilden nedan. Se till att bygelns 0-stift är placerat tillbaka på 0 (driftläge). Därefter behöver vi inte byta bygeln längre för att ladda upp och köra programmen.
Din dator borde kunna upptäcka styrelsen nu. Vänta en stund om du ser att ytterligare drivrutiner installeras. Gå sedan in i Enhetshanteraren och kontrollera om ditt STM32-kort upptäcks under COM- och portavsnittet som visas nedan. Gruvan är ansluten till COM8 med namnet Maple Mini.
Gå till Verktyg och bläddra ner för att hitta Generic STM32F103C-serien som visas nedan. Kontrollera sedan att varianten är 64k Flash-typ , CPU-hastighet är 72MHz och ändra uppladdningsmetoden till STM32duino Bootloader . Välj också rätt COM-port enligt den i din enhetshanterare.
När alla ändringar har gjorts kontrollerar du det nedre högra hörnet på Arduino IDE och du bör märka att följande inställning är inställd. Mitt STM32-kort är anslutet till COM8 men din kan skilja sig åt
Nu är Arduino IDE redo att programmera STM 32 Blue Pill Development Boards. Låt oss ladda upp provblinkprogrammet från Arduino IDE till STM32 Blue Pill-kortet för att se till att allt fungerar som det ska. Exempelprogrammet finns på
I det exempelprogram som öppnas måste vi göra en liten förändring. Som standard kommer programmet att skrivas för PB1 men på vårt kort är den inbyggda lysdioden ansluten till PC13 så byt ut alla PB1 mot PC13 och vi är bra att fortsätta. Det fullständiga exempelprogrammet som modifieras finns också längst ner på denna sida.
Koden inuti loopfunktionen ensam visas nedan, där vi kan märka att PC13-stiftet hålls HÖGT (på) i 1000 millisekunder och sedan stängs LÅG (av) i ytterligare 1000 millisekunder och detta görs för oändliga tider eftersom det är i loop- funktion. Således verkar lysdioden blinka med ett intervall på 1000 millisekunder.
digitalWrite (PC13, HIGH); // slå på lysdioden (HÖG är spänningsnivån) fördröjning (1000); // vänta på en andra digitalWrite (PC13, LOW); // stäng av lysdioden genom att göra spänningen låg fördröjning (1000); // vänta en sekund
Tryck på uppladdningsknappen på Arduino IDE och ditt program ska sammanställas och laddas upp. Om allt har fungerat som förväntat bör du se följande på din Arduino IDE-konsol.
Om programmet har laddats upp framgångsrikt bör du se den gröna lysdioden blinka med 1 sekunders intervall som visas i videon nedan. Du kan också lura med programmet för att öka eller minska förseningen. Nu kan du börja använda STM32 (Blue Pill) Development-kortet som alla andra Arduino-kort, det vill säga att du inte längre behöver ändra bygelns position eller använda extern hårdvara för att ladda upp och testa program.
Hoppas att du förstod handledningen och tyckte att det var användbart att komma igång med STM32 Board. Om du har några problem lämnar du dem i kommentarsektionen, berätta också för mig vilka projekt vi ska försöka med detta STM32-kort i framtiden.