STM32F103C8T6 Minimaalne süsteemiarenduse tahvel
Tooteteave
STM32F103C8T6 ARM STM32 minimaalse süsteemi arendusplaadi moodul on arendusplaat, mis põhineb STM32F103C8T6 mikrokontrolleril. See on loodud programmeerimiseks Arduino IDE abil ja ühildub erinevate Arduino kloonide, variatsioonide ja kolmandate osapoolte tahvlitega, nagu ESP32 ja ESP8266.
Plaat, tuntud ka kui Blue Pill Board, töötab umbes 4.5 korda kõrgema sagedusega kui Arduino UNO. Seda saab kasutada erinevate projektide jaoks ja seda saab ühendada välisseadmetega, näiteks TFT-ekraanidega.
Selle plaadiga projektide koostamiseks vajalikud komponendid hõlmavad STM32 plaati, FTDI programmeerijat, värvilist TFT-ekraani, nuppu, väikest leivatahvlit, juhtmeid, toitepanka (valikuline eraldiseisva režiimi jaoks) ja USB-jadamuundurit.
Skemaatiline
STM32F1 plaadi ühendamiseks 1.8 ST7735-põhise värvilise TFT-ekraaniga ja vajutusnupuga järgige kaasasolevas skeemis kirjeldatud tihvtide ühendusi.
Arduino IDE seadistamine STM32 jaoks
- Avage Arduino IDE.
- Avage Tools -> Board -> Board Manager.
- Otsige otsinguribaga dialoogiboksis "STM32F1" ja installige vastav pakett.
- Oodake, kuni installiprotsess on lõpule viidud.
- Pärast installimist peaks STM32 plaat nüüd olema Arduino IDE plaatide loendis valimiseks saadaval.
STM32 plaatide programmeerimine Arduino IDE-ga
Alates selle loomisest on Arduino IDE näidanud soovi toetada igasuguseid platvorme, alates Arduino kloonidest ja erinevate tootjate variatsioonidest kuni kolmandate osapoolte plaatideni, nagu ESP32 ja ESp8266. Mida rohkem inimesi IDE-ga tuttavaks saab, hakkavad nad toetama rohkem plaate, mis ei põhine ATMEL-kiipidel, ja tänase õpetuse jaoks vaatame ühte sellistest tahvlitest. Uurime, kuidas programmeerida STM32-põhist STM32F103C8T6 arendusplaati Arduino IDE-ga.
Selles õpetuses kasutatav STM32 plaat ei ole keegi muu kui STM32F103C8T6 kiibil põhinev STM32F1 arendusplaat, mida tavaliselt nimetatakse "Blue Pill" kooskõlas selle PCB sinise värviga. Blue Pilli toiteallikaks on võimas 32-bitine STM32F103C8T6 ARM protsessor, mille taktsagedus on 72 MHz. Plaat töötab 3.3 V loogikatasemetel, kuid selle GPIO kontaktid on testitud 5 V tolerantsena. Kuigi sellega pole kaasas WiFi ega Bluetooth, nagu ESP32 ja Arduino variandid, pakub see 20 KB muutmälu ja 64 KB välkmälu, mis muudab selle suurte projektide jaoks piisavaks. Sellel on ka 37 GPIO tihvti, millest 10 saab kasutada analoogandurite jaoks, kuna neil on ADC lubatud, ja teised, mis on lubatud SPI, I2C, CAN, UART ja DMA jaoks. Umbes 3 dollarit maksva tahvli puhul nõustute minuga, et need on muljetavaldavad andmed. Nende spetsifikatsioonide kokkuvõtlik versioon võrreldes Arduino Uno omaga on näidatud alloleval pildil.
Ülaltoodud spetsifikatsioonide põhjal on Blue Pilli töösagedus umbes 4.5 korda kõrgem kui Arduino UNO-l, kui kasutate endise õpetuse järgi.ampKui soovite teada, kuidas STM32F1 plaati kasutada, ühendame selle 1.44-tollise TFT-ekraaniga ja programmeerime selle arvutama konstanti "Pi". Märgime, kui kaua kulus tahvlil väärtuse saamiseks, ja võrdleme seda ajaga, mis kulub Arduino Unol sama ülesande täitmiseks.
Nõutavad komponendid
Selle projekti koostamiseks on vaja järgmisi komponente;
- STM32 tahvel
- FTDI programmeerija
- Värviline TFT
- Vajutusnupp
- Väike leivalaud
- Juhtmed
- Power Bank
- USB-jadamuundur
Nagu tavaliselt, saab kõiki selle õpetuse jaoks kasutatud komponente osta lisatud linkidelt. Toitepanka on aga vaja ainult siis, kui soovite projekti eraldiseisvas režiimis juurutada.
Skemaatiline
- Nagu varem mainitud, ühendame STM32F1 plaadi 1.8-tollise ST7735-põhise värvilise TFT-ekraaniga koos surunupuga.
- Nupu abil juhendatakse tahvlit arvutust alustama.
- Ühendage komponendid alloleval skeemil näidatud viisil.
Ühenduste hõlpsaks kopeerimiseks kirjeldatakse allpool STM32 ja ekraani vahelisi pin-to-pin ühendusi.
STM32 – ST7735
Vaadake ühendused veel kord üle, et olla kindel, et kõik on nii nagu peab, kuna see kipub muutuma pisut keeruliseks. Kui see oli tehtud, asusime seadistama STM32 plaati, mis programmeeritakse Arduino IDE-ga.
Arduino IDE seadistamine STM32 jaoks
- Nagu enamiku tahvlite puhul, mida Arduino ei valmistanud, tuleb enne plaadi kasutamist Arduino IDE-ga veidi seadistada.
- See hõlmab plaadi paigaldamist file kas Arduino juhatuse halduri kaudu või Internetist alla laadides ja kopeerides files riistvara kausta.
- Board Manageri marsruut on vähem tüütu ja kuna STM32F1 on loetletud tahvlite hulgas, läheme sellele teele. Alustage STM32 tahvli lingi lisamisega Arduino eelistuste loenditesse.
- Mine aadressile File -> Eelistused, seejärel sisestage see URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) allolevas kastis ja klõpsake nuppu OK.
- Nüüd mine menüüsse Tööriistad -> Laud -> Lauahaldur, see avab otsinguribaga dialoogiboksi. Otsi STM32F1 ja installige vastav pakett.
- Installiprotsess võtab paar sekundit. Pärast seda peaks plaat olema nüüd Arduino IDE plaatide loendi all valimiseks saadaval.
Kood
- Kood kirjutatakse samamoodi, nagu me kirjutaksime mis tahes muu visandi Arduino projekti jaoks, ainsaks erinevuseks on viis, kuidas tihvtidele viidatakse.
- Selle projekti koodi hõlpsaks väljatöötamiseks kasutame kahte teeki, mis on mõlemad standardsete Arduino raamatukogude modifikatsioonid, et muuta need ühilduvaks STM32-ga.
- Kasutame Adafruit GFX ja Adafruit ST7735 teekide muudetud versiooni.
- Mõlemad raamatukogud saab alla laadida neile lisatud linkide kaudu. Nagu tavaliselt, teen koodi lühikese jaotuse.
- Alustame koodi kahe kasutatava teegi importimisega.
- Järgmisena määratleme STM32 kontaktid, millega on ühendatud LCD-ekraani CS, RST ja DC kontaktid.
- Järgmisena loome mõned värvimääratlused, et hiljem oleks lihtne kasutada värve nende kuueteistkümnendväärtuste asemel koodis nende nimede järgi.
- Järgmisena määrame korduste arvu, mida tahvel läbib, ja edenemisriba värskendamise kestuse.
- Seda tehes loome ST7735 teegi objekti, mida kasutatakse kuvale viitamiseks kogu projekti jooksul.
- Samuti näitame ära STM32 tihvti, millega surunupp on ühendatud, ja loome muutuja selle oleku hoidmiseks.
- Kui see on tehtud, liigume funktsiooni void setup() juurde.
- Alustuseks määrame tihvti, millega surunupp on ühendatud, parameetri pinMode(), aktiveerides tihvti sisemise tõmbetakisti, kuna nupp ühendub vajutamisel maapinnaga.
- Järgmisena initsialiseerime jadaside ja ekraani, määrates ekraani tausta mustaks ja kutsudes välja liidese kuvamiseks funktsiooni print ().
- Järgmine on funktsioon void loop(). Tühisilmuse funktsioon on tänu teekide/funktsioonide kasutamisele üsna lihtne ja lühike.
- Alustame nupu oleku lugemisest. Kui nuppu on vajutatud, eemaldame ekraanilt aktiivse teate, kasutades klahvi removePressKeyText() ja joonistame muutuva edenemisriba funktsiooni drawBar() abil.
- Seejärel kutsume välja arvutamise alustamise funktsiooni, et saada ja kuvada Pi väärtus koos selle arvutamiseks kulunud ajaga.
- Kui surunuppu ei vajutata, jääb seade ooterežiimi ja ekraan nõuab sellega suhtlemiseks klahvi vajutamist.
- Lõpuks lisatakse tsükli lõppu viivitus, et anda natuke aega enne "silmuste" visandamist.
- Ülejäänud osa koodist on funktsioonid, mida kutsutakse ülesannete täitmiseks alates riba joonistamisest kuni Pi arvutamiseni.
- Enamikku neist funktsioonidest on käsitletud mitmes teises õpetuses, mis hõlmavad ST7735 ekraani kasutamist.
- Projekti täielik kood on saadaval allpool ja lisatud allalaadimise jaotise alla.
Koodi üleslaadimine STM32-sse
- Visandite üleslaadimine STM32f1-sse on tavaliste Arduino-ühilduvate plaatidega võrreldes pisut keeruline. Koodi plaadile üleslaadimiseks vajame FTDI-põhist USB-jadamuundurit.
- Ühendage USB-jadamuundur STM32-ga, nagu on näidatud allolevatel skeemidel.
Siin on ühenduse pin-to-pin kaart
FTDI – STM32
- Kui see on tehtud, muudame tahvli olekuhüppaja positsiooni asendisse üks (nagu on näidatud alloleval GIF-il), et panna plaat programmeerimisrežiimi.
- Pärast seda vajutage üks kord tahvli lähtestamisnuppu ja oleme valmis koodi üles laadima.
- Arvutis veenduge, et valite "Generic STM32F103C plaat" ja valige üleslaadimismeetodiks seeria, mille järel saate vajutada üleslaadimisnuppu.
- Kui üleslaadimine on lõppenud, muutke oleku hüppaja asendisse "O" See lülitab tahvli töörežiimi ja see peaks nüüd üleslaaditud koodi alusel töötama.
- Siinkohal saate FTDI lahti ühendada ja plaadi USB kaudu toite anda. Kui kood pärast toite sisselülitamist ei tööta, veenduge, et olete hüppaja korralikult taastanud ja lülitage plaadile uuesti toide.
Demo
- Kui kood on valmis, järgige ülalkirjeldatud üleslaadimisprotsessi, et kood oma seadistusse üles laadida.
- Peaksite nägema, et ekraan kerkib üles, nagu on näidatud alloleval pildil.
- Arvutamise alustamiseks vajutage nuppu. Peaksite nägema, et edenemisriba libiseb järk-järgult lõpuni.
- Protsessi lõpus kuvatakse Pi väärtus koos arvutamiseks kulunud ajaga.
- Sama kood on rakendatud Arduino Unos. Tulemus on näidatud alloleval pildil.
- Neid kahte väärtust võrreldes näeme, et "Blue Pill" on üle 7 korra kiirem kui Arduino Uno.
- See muudab selle ideaalseks projektide jaoks, mis hõlmavad rasket töötlemist ja ajapiiranguid.
- Blue Pill'i väiksus toimib ka eelisenatage siin, kuna see on vaid veidi suurem kui Arduino Nano ja seda saab kasutada kohtades, kus Nano ei ole piisavalt kiire.
Dokumendid / Ressursid
![]() |
STM32 STM32F103C8T6 Minimaalne süsteemiarenduse tahvel [pdfKasutusjuhend STM32F103C8T6 minimaalne süsteemiarendusplaat, STM32F103C8T6, minimaalne süsteemiarenduse tahvel, süsteemiarenduse juhatus, arendusamet, plaat |