- Pojasnilo strojne opreme za razvojno ploščo STM32 Nucleo 64
- Programiranje razvojnih odborov STM32 Nucleo 64
- Uvod v STM32F401
- Zaključek
- Video
Za večino ljudi bi bila prva vgrajena razvojna plošča, na kateri bi delali, verjetno Arduino Board. Ampak, kot se vsi strinjajo, bi vas vaš Arduino lahko pripeljal le tako daleč in nekega dne se boste morali preseliti na domačo platformo mikrokrmilnika. Ta postopek lahko s to razvojno ploščo STM32 olajšate, saj lahko podpira vse Arduino ščite, ki vam pomagajo na strojni strani, poleg tega pa ima tudi veliko vgrajenih knjižnic in funkcij, ki vam pomagajo na strani programske opreme. Če se seznanite z mikrokrmilniki STM32, boste lažje raziskali druge razvojne module podjetja ST, kot je SensorTile.Box, ki smo jih pregledali prej. Torej, v tem članku si oglejmo v celoti te razvojne plošče STM32 Nucleo-64 in se naučimo, kako jih uporabljati.
Zdaj je na voljo veliko različic plošč STM32 in ta se v moji roki imenuje STM32F401 Nucleo-64. Ime STM32 pomeni, da imamo na svoji razvojni plošči 32-bitni mikrokrmilnik, ime Nucleo-64 pa pomeni, da ima mikrokrmilnik 64 nožic. Podobno obstaja še veliko drugih različic plošč Nucleo 64, kot so STM32F103, STM32F303 itd., Toda ko enkrat spoznate eno ploščo, so vse druge precej podobne.
Pojasnilo strojne opreme za razvojno ploščo STM32 Nucleo 64
Začnimo z razpakiranjem našega razvojnega odbora. Kot lahko vidite, je celoten paket sestavljen samo iz naše razvojne plošče in kartice z navodili. Na kartici z navodili so omenjene specifikacije krmilnika, njegovi izvlečki, na zadnji strani pa imamo nekaj informacij o tem, kako začeti, in razpoložljive možnosti verige orodij.
Če natančneje pogledamo tablo, lahko ugotovimo, da je deska razdeljena na dve regiji. Zgornji odsek je razhroščevalnik ST-Link / V2 in programer, spodnji odsek pa je vaša dejanska razvojna plošča. Na ta način lahko ploščo enostavno programirate in jo odpravite iz škatle samo z dodatnim kablom USB, ki ga lahko priključite na mini vrata USB na plošči.
Na prvi pogled se zdi, da ima plošča veliko mostičkov in komponent, vendar so vsi tam, da nam olajšajo stvari. Dva mostička, ki ju najdete na obeh straneh plošče CN11 in CN12, sta pravzaprav preskusna mostička, ta mostička lahko po potrebi uporabite v druge namene. Dva mostička na CN2 se uporabljata za povezavo odseka programerja in razhroščevalnika z našo razvojno ploščo. V prihodnosti lahko te mostičke odstranite in s pomočjo teh zatičev uporabite programator za druge mikrokrmilnike ST. In ta priključni zatič JP1 lahko zaprete, da omejite tok USB na 100 mA, če bo odprt, bo največji tok 300 mA. Tu imamo trikolorno LED (LD1), ki se pri vklopu plošče vklopi rdeče in ob uspešnem programiranju plošče zasveti zeleno, ob napaki v komunikaciji pa oranžno.
Če se spustimo do razvojnega oddelka, imamo tukaj najpomembnejšo komponento, mikrokrmilnik STM32F401RET6. To je 64-pinski 32-bitni mikrokrmilnik s procesorjem ARM Cortex M4, ki deluje na 84 MHz. Ima tudi 512 Kb Flash in 96KB SRAM. Mikrokrmilnik ima 10 časovnikov 16-bitnih in 32-bitnih in en sam 12-bitni ADC. Ima tudi tri USART, tri I2C, štiri SPI in en USB 2.0 za zunanje komunikacije. Če želite več tehničnih informacij, si lahko ogledate podatkovni list STM32F401.
Zdaj prihaja zanimiv del, kot sem vam že povedal, plošča podpira vse Arduino ščite. Tabla ima dva kompleta konektorjev, ženski zatiči so za Arduino ščite, ki se popolnoma prilegajo našemu ESP8266 Wi-Fi Shieldu in našemu Semtech Arduino LoRa Shieldu, kot vidite na spodnji sliki.
Drugi moški se imenujejo ST morfo zatiči, ki jih lahko uporabimo za razvijanje zatičev na našem 64-pinskem mikrokrmilniku. Nato imamo tukaj gumb za ponastavitev in uporabniško nastavljiv gumb, ki je povezan na pin PC13 in tu tudi LED, ki je povezan s pinom D13 tako kot Arduino. Za napajanje plošče lahko uporabimo vrata USB ali pa neposredno zagotovimo regulirano 5V na E5V ali na 5V pin tukaj. Ne pozabite spremeniti tega mostička, da označite, kako napajate ploščo; U5V označuje, da ploščo napaja USB. Tu imamo tudi še en zanimiv mostični zatič, imenovan IDD, s pomočjo katerega lahko izmerimo, koliko toka porabi vaš mikrokrmilnik, tako da na te nožice priključite ampermeter.
Programiranje razvojnih odborov STM32 Nucleo 64
V razdelku s programsko opremo ima plošča ogromno knjižnice in programske podpore, ki jo je mogoče programirati s pomočjo Keila, delovne mize IAR in številnih drugih IDE-jev. A zanimivo je, da podpira razvojno okolje ARM Mbed in STM32Cube. Zaradi tega članka sem se odločil za uporabo platforme ARM Mbed, ker gre za spletno orodje in se mi je zdelo zelo zanimivo, saj z njo ne morete uporabljati samo svojih plošč ST, temveč tudi številne druge razvojne plošče, ki uporabljajo mikrokrmilnik ARM.
Za nove, ARM MBED je spletna razvojna platforma, ki jo ponuja ARM sama in vam ponuja vgrajeni operacijski sistem, storitve v oblaku in varnostne funkcije za enostavno ustvarjanje vdelanih rešitev, ki temeljijo na IoT. Je ogromna odprtokodna skupnost in če jo želite podrobno razkriti, bo potreben poseben članek.
Uvod v STM32F401
Za začetek pa z mini kablom USB povežite razvojno ploščo STM32 z računalnikom. Ko se napajate, opazite, da lučki LED LD1 in LD3 zasvetijo rdeče, programirljiva LED LD2 pa bo tako utripala v zeleni barvi.
V računalniku boste opazili tudi nov bliskovni pogon z imenom »NODE_F401RE«. Odprite ga in našli boste dve datoteki, in sicer details.txt in mbed.htm, kot je prikazano spodaj.
Datoteko Mbed.htm lahko zaženete tako, da neposredno začnete programirati svojo ploščo prek spleta z roko Mbed. Preden pa pridemo tja, smo namestili zahtevane gonilnike in se prijavili za Mbed. Poiščite programsko opremo gonilnika STSW-link009 in jo prenesite neposredno s spletnega mesta ST, namestite gonilnik in se prepričajte, da je naprava pravilno odkrita v upravitelju naprav, kot je prikazano tukaj.
Vrnite se na svojo platformo mbed in se prijavite na MBED.com s svojimi poverilnicami. Nato kliknite datoteko MBED.HTM in pozdravila vas bo naslednja stran.
Pomaknite se navzdol in kliknite » Odpri Mbed prevajalnik «. Kot vidite, je prevajalnik našo platformo že prepoznal kot Nucleo-F401RE in nam ponuja veliko osnovnih primernih programov. Za zdaj naj izberem » LED Blinky kodo « in jo spremenim tako, da se LED izklopi vsakič, ko pritisnem na gumb.
Ko je koda pripravljena, kot je prikazano spodaj, lahko kliknete gumb za prevajanje, ki vam bo zagotovil datoteko bin, samo kopirajte datoteko bin in jo prilepite v svoj pogon za programiranje plošče. Ko je programiranje končano, boste opazili, da LED LD1 zasveti zeleno. Zdaj pritisnite modri gumb in opazili boste, da se zelena LED ugasne. Tako lahko poskusite s katerim koli od primerov programov, da se naučite različnih funkcij plošče. Lahko se vrnete tudi na glavno stran, da dobite druge tehnične dokumente in podporo skupnosti.
Ogledate si lahko tudi video posnetek na dnu te strani, da si ogledate celoten pregled na tej plošči.
Zaključek
Na splošno verjamem, da so te plošče odlična izbira, če poskušate izpopolniti svoje znanje in razviti napredne aplikacije. S praktično podporo strojne opreme in spletno skupnostjo je tudi krivulja učenja teh plošč precej preprosta, zato boste morda želeli poskusiti. Upam, da ste v članku uživali in se iz njega naučili kaj koristnega. Če imate kakršna koli vprašanja, jih pustite v spodnjem oddelku za komentarje ali uporabite tehnična vprašanja na naših forumih.