- Explicație hardware pentru placa de dezvoltare STM32 Nucleo 64
- Programarea plăcilor de dezvoltare STM32 Nucleo 64
- Noțiuni introductive despre STM32F401
- Concluzie
- Video
Pentru majoritatea oamenilor de acolo, prima placă de dezvoltare încorporată la care ar fi lucrat ar fi cel mai probabil o placă Arduino. Dar, la fel de bine, toți pot fi de acord, Arduino ar putea să te ducă până acum și într-o zi va trebui să te muți pe o platformă de microcontroler nativă. Acest proces poate fi mult mai ușor cu această placă de dezvoltare STM32, deoarece poate sprijini toate ecranele Arduino pentru a vă ajuta pe partea hardware și are, de asemenea, multe biblioteci și funcții încorporate pentru a vă ajuta pe partea software. Familiarizarea cu microcontrolerele STM32 vă va ajuta să explorați cu ușurință alte module de dezvoltare de la ST, cum ar fi SensorTile.Box, pe care l-am analizat mai devreme. Deci, în acest articol, să aruncăm o privire completă asupra acestor plăci de dezvoltare STM32 Nucleo-64 și să învățăm cum să le folosim.
Acum sunt disponibile multe versiuni ale plăcilor STM32 și aceasta în mână se numește STM32F401 Nucleo-64. Numele STM32 reprezintă faptul că avem un microcontroler pe 32 de biți pe placa noastră de dezvoltare, iar numele Nucleo-64 reprezintă faptul că microcontrolerul are 64 de pini. În mod similar, există multe alte versiuni ale plăcilor Nucleo 64, cum ar fi STM32F103, STM32F303, etc, dar odată ce aflați o placă, toate celelalte sunt destul de similare.
Explicație hardware pentru placa de dezvoltare STM32 Nucleo 64
Să începem prin dezabonarea consiliului nostru de dezvoltare. După cum puteți vedea, pachetul complet constă doar din placa de dezvoltare și un card de instrucțiuni. Cardul de instrucțiuni menționează specificațiile controlerului, pinout-urile acestuia, iar pe partea din spate avem câteva informații despre cum să începeți și despre opțiunile disponibile ale lanțului de instrumente.
Aruncând o privire mai atentă la tablă, putem constata că placa este împărțită în două regiuni. Secțiunea de sus este debugger și programator ST-Link / V2, în timp ce secțiunea de jos este placa de dezvoltare reală. În acest fel, puteți programa și depana cu ușurință placa din cutie doar cu un cablu USB suplimentar care poate fi conectat la mini-portul USB de pe placă.
La prima vedere, placa ar putea părea să aibă o mulțime de jumperi și componente, dar toate sunt acolo pentru a ne ușura lucrurile. Cele două jumperi pe care le găsiți de fiecare parte a plăcii CN11 și CN12 sunt de fapt jumper, aceste jumperi pot fi utilizate în alte scopuri, dacă este necesar în viitor. Cele două jumper-uri de pe CN2 sunt utilizate pentru a conecta secțiunea programator și debugger cu placa noastră de dezvoltare. În viitor, puteți elimina aceste jumperi pentru a utiliza programatorul pentru alte microcontrolere ST prin intermediul acestor pini. Și acest pin conector JP1 poate fi închis pentru a limita curentul USB la 100mA, dacă este lăsat deschis, curentul maxim va fi de 300mA. Aici avem un LED Tricolor (LD1) care se aprinde ca roșu când placa este alimentată și devine verde când placa este programată cu succes și devine portocaliu când există o defecțiune de comunicare.
Trecând la secțiunea de dezvoltare, avem aici cea mai importantă componentă, microcontrolerul STM32F401RET6. Acesta este un microcontroler cu 64 de pini pe 32 de biți cu un procesor ARM Cortex M4 care funcționează la 84MHz. De asemenea, are 512 Kb Flash și 96KB SRAM. Microcontrolerul are 10 temporizatoare de 16 biți și 32 biți și un singur ADC de 12 biți. De asemenea, are trei USART, trei I2C, patru SPI și un USB 2.0 pentru comunicații externe. Puteți verifica fișa tehnică STM32F401 pentru a obține mai multe informații tehnice.
Acum vine partea interesantă, așa cum v-am spus mai devreme, placa acceptă toate scuturile Arduino. Placa are două seturi de conectori, pinii de sex feminin sunt pentru scuturile Arduino care se potrivesc perfect ESP8266 nostru Wi-Fi Shield și Semtech Arduino LoRa Shield după cum puteți vedea în imaginea de mai jos.
Ceilalți masculi sunt numiți pini morfo ST, care pot fi utilizați pentru a utiliza pinii de alezare pe microcontrolerul nostru cu 64 de pini. Apoi avem aici un buton de resetare și un buton configurabil de utilizator care este conectat la pinul PC13 și, de asemenea, un LED care este conectat la pinul D13 la fel ca Arduino. Pentru a alimenta placa, putem folosi portul USB sau oferim direct 5V reglat la E5V sau pinul de 5V aici. Nu uitați să schimbați acest jumper pentru a indica modul în care alimentați placa; U5V indică faptul că placa este alimentată de USB. Avem aici și un alt pumn interesant numit IDD, care poate fi folosit pentru a măsura cât de mult consumă microcontrolerul dvs. prin conectarea unui ampermetru la acești pini.
Programarea plăcilor de dezvoltare STM32 Nucleo 64
Venind la secțiunea software, placa are o bibliotecă imensă și suport pentru programare și poate fi programată folosind Keil, IAR workbench și multe alte IDE. Dar lucrul interesant este că suportă mediul de dezvoltare ARM Mbed și STM32Cube. De dragul acestui articol, am decis să folosesc platforma ARM Mbed, deoarece este un instrument online și mi s-a părut foarte interesant, deoarece nu puteți doar plăcile ST cu acesta, ci multe alte plăci de dezvoltare care utilizează microcontrolerul ARM.
Pentru cei noi, ARM MBED este o platformă de dezvoltare online oferită de ARM însuși și vă oferă un sistem de operare încorporat, servicii cloud și caracteristici de securitate pentru a crea cu ușurință soluții încorporate bazate pe IoT. Este o comunitate open source imensă și pentru a afla mai multe detalii despre aceasta va fi nevoie de un articol separat.
Noțiuni introductive despre STM32F401
Dar, pentru a începe, utilizați un mini cablu USB pentru a vă conecta placa de dezvoltare STM32 la computer. Odată alimentat, ar trebui să observați că LED-urile LD1 și LD3 se aprind în roșu, iar LED-ul programabil LD2 va clipi într-o culoare verde ca aceasta.
De asemenea, veți observa o nouă unitate flash pe computerul dvs. numită „NODE_F401RE”. Deschideți-l și veți găsi două fișiere și anume details.txt și mbed.htm așa cum se arată mai jos.
Puteți lansa fișierul Mbed.htm pentru a începe direct să vă programați placa online folosind brațul Mbed. Dar, înainte de a ajunge acolo, am instalat driverele necesare și înscrierea la Mbed. Căutați software-ul driverului STSW-link009 și descărcați-l direct de pe site-ul web ST, instalați driverul și asigurați-vă că dispozitivul este descoperit corect în managerul de dispozitiv, așa cum se arată aici.
Reveniți la platforma dvs. mbed pentru a vă înscrie pe MBED.com cu acreditările dvs. Apoi, faceți clic pe fișierul MBED.HTM și veți fi întâmpinat cu următoarea pagină.
Derulați în jos și faceți clic pe „ Deschideți compilatorul Mbed ”. După cum puteți vedea, compilatorul a recunoscut deja platforma noastră ca Nucleo-F401RE și ne oferă o mulțime de exemple de programe de bază. Deocamdată, permiteți-mi să selectez „ Codul LED intermitent ” și să îl modific, astfel încât LED-ul să se stingă ori de câte ori apăs butonul.
Odată ce codul este gata așa cum se arată mai jos, puteți face clic pe butonul de compilare, care vă va oferi un fișier bin, doar copiați fișierul bin și lipiți-l în unitatea flash pentru a vă programa placa. Veți observa LED-ul LD1 devenind verde după finalizarea programării. Acum apăsați butonul albastru și veți observa stingerea LED-ului verde. Astfel, puteți încerca oricare dintre programele de exemplu pentru a învăța diferite funcționalități ale tabloului. De asemenea, puteți reveni la pagina principală pentru a obține alte documente tehnice și asistență comunitară.
De asemenea, puteți viziona videoclipul legat în partea de jos a acestei pagini, pentru a vizualiza recenzia completă pe acest forum.
Concluzie
În general, cred că aceste plăci sunt alegeri excelente dacă încercați să vă ridicați abilitățile și să dezvoltați aplicații avansate. Cu suportul hardware practic și comunitatea online, curba de învățare a acestor placi este, de asemenea, destul de simplă, așa că s-ar putea să doriți să încercați. Sper că ți-a plăcut articolul și ai învățat ceva util din el. Dacă aveți întrebări, lăsați-le în secțiunea de comentarii de mai jos sau folosiți forumurile noastre pentru alte întrebări tehnice.