- Materiale necesare
- Diagrama circuitului
- Încărcarea încărcătorului Maple Boot pe placa de dezvoltare STM32
- Pregătirea IDE Arduino și instalarea driverelor
- Programarea STM32 (Blue Pill) direct prin portul USB
STM32 Consiliul de Dezvoltare pentru Locuințe STM32F103C8 microcontroller este obtinerea de grație din ce în ce mai populare în arhitectura ARM Cortex M3, are viteză operațională ridicată și mai multe opțiuni periferice. De asemenea, deoarece această placă poate fi programată cu ușurință utilizând Arduino IDE, a devenit o alegere preferabilă pentru mulți pasionați și ingineri pentru prototipare rapidă.
În tutorialul nostru anterior am învățat elementele de bază ale plăcii de dezvoltare STM32 și l-am programat, de asemenea, să clipească un LED. Dar a existat un dezavantaj imens. Pentru a programa placa am folosit un modul de programare FTDI și, de asemenea, a trebuit să comutăm jumperul de boot 0 între și 1 poziție în timp ce încărcați și testați un cod, ceea ce este cu siguranță o sarcină descurajantă. De asemenea, portul mini-USB de pe placa de dezvoltare a rămas total neutilizat. Motivul pentru care se face acest lucru este că, atunci când placa de dezvoltare STM32 este achiziționată, aceasta nu vine cu un încărcător de boot pregătit Arduino și, prin urmare, placa nu va fi descoperită de computerul dvs. atunci când este conectată prin USB.
Sperăm însă că există un încărcător de încărcare experimental dezvoltat de LeafLabs pentru mini placi Maple. Acest încărcător de încărcare poate fi introdus în STM32 o dată și ulterior putem folosi direct portul USB al plăcii STM32 pentru a încărca programe la fel ca orice alte plăci Arduino. Cu toate acestea, acest încărcător de încărcare este încă în faza de dezvoltare la momentul documentării acestui tutorial și nu este recomandabil pentru aplicațiile critice. Înainte de a proceda cu acest tutorial, asigurați-vă că ați citit tutorialul anterior pentru a înțelege noțiunile de bază ale acestui tablou, inclusiv detalii despre specificații și pin-out-uri.
Materiale necesare
- STM32 - (BluePill) Consiliul de Dezvoltare (STM32F103C8)
- Programator FTDI
- Breadboard
- Conectarea firelor
- Laptop cu Internet
Diagrama circuitului
Pentru a programa placa STM32 Blue Pill direct prin portul USB, trebuie mai întâi să încărcăm încărcătorul de încărcare Maple în MCU. Pentru a face acest lucru, trebuie să folosim o placă Serial FTDI. Această placă este conectată la pinul Rx și Tx al STM32 așa cum se arată mai jos.
Pinul Vcc al plăcii FTDI este conectat la pinul STM32 5V de alimentare al plăcii. Pământul este conectat la pământul STM32. Pinul Rx și Tx al plăcii FTDI este conectat la pinul A9 și respectiv A10 al STM32. Unde A9 este pinul Tx al STM32 MCU și A10 este pinul Rx.
Asigurați-vă că pinul jumper de boot 0 de pe placă este setat la 1 (modul de programare) în timp ce încărcați încărcătorul de încărcare. Odată ce încărcătorul de pornire este aprins, acest pin poate fi schimbat înapoi la poziția inițială (modul de operare).
Încărcarea încărcătorului Maple Boot pe placa de dezvoltare STM32
Odată ce am făcut conexiunea de mai sus, conectați placa FTDI la computer și urmați pașii pentru a încărca încărcătorul de încărcare în STM32.
Pasul 1: Trebuie să descărcăm fișierele binare ale fișierului programului de încărcare (fișier bin) din pagina github. Există multe versiuni ale fișierului bin, pentru placa Blue Pill utilizați acest link github și faceți clic pe butonul de descărcare pentru a descărca fișierul bin.
Pasul 2: În continuare trebuie să descărcăm și să instalăm software-ul STM Flash loader pentru a bloca fișierul bin descărcat în STM32. Faceți clic pe acest link pentru a intra pe site-ul ST și derulați în partea de jos și faceți clic pe obțineți software
Pasul 3: Pentru a descărca software-ul, trebuie să introduceți adresa de e-mail și linkul de descărcare va fi trimis la e-mail. Apoi urmați linkul înapoi la site-ul web și faceți clic din nou pe software și descărcați va începe. Da, este un pic frustrant, dar așa ar trebui făcut. Nu uitați să verificați dosarul de spam pentru e-mail, uneori este nevoie de câteva minute până când e-mailul ajunge.
Pasul 4: Odată descărcat, instalați software-ul, asigurați-vă că placa STM32 este conectată la computerul dvs. de pe placa FTDI și apoi lansați software-ul. Software-ul va detecta automat portul COM dacă nu folosește Managerul de dispozitive și asigurați-vă că selectați numărul portului COM corect. În cazul meu este COM4. Lăsați restul setărilor așa cum este prezentat mai jos.
Pasul 5: Faceți clic pe butonul Următor de două ori și software-ul va detecta automat din nou detaliile plăcii și se va afișa așa cum se arată mai jos. Placa pe care o folosim este STM32F1 cu memorie flash de 128K.
Pasul 6: În pasul următor, selectați Descărcare pe dispozitiv și navigați la locația în care am descărcat fișierul nostru bin la pasul 1 și selectați-l. Faceți clic pe următorul.
Pasul 7: Software-ul va descărca unele fișiere necesare așa cum se arată mai jos și va începe apoi procesul de intermitent.
Pasul 8: Odată ce clipirea se finalizează cu succes, vom obține ecranul de mai jos. Faceți clic pe închidere și ieșiți din aplicație. Am lansat cu succes placa STM32 cu încărcătorul de încărcare Arduino. Acum trebuie să pregătim IDE-ul Arduino și să instalăm driverele înainte de a putea programa placa STM32.
Pregătirea IDE Arduino și instalarea driverelor
Urmați pașii de mai jos pentru a descărca și pregăti Arduino IDE pentru a fi utilizat cu placa de dezvoltare STM 32.
Pasul 1: - Dacă nu ați instalat încă ID-ul Arduino, descărcați-l și instalați-l de pe acest link. Asigurați-vă că ați selectat sistemul de operare corect.
Pasul 2: - După instalarea Arduino IDE deschideți și descărcați pachetele necesare pentru placa STM32. Acest lucru se poate face selectând Fișier -> Preferințe .
Pasul 3: - Dând clic pe Preferințe se va deschide caseta de dialog afișată mai jos. În caseta de text URL suplimentar Manager de panouri, lipiți linkul de mai jos
dan.drown.org/stm32duino/package_STM32duino_index.json
și apăsați OK.
Pasul 4: - Acum, accesați Instrument -> Panouri -> Manager de panou . Aceasta va deschide caseta de dialog a managerului de placi, va căuta „STM32F1” și va instala pachetul care apare.
Pasul 5: După instalarea pachetului, navigați la C: \ Program Files (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win unde veți găsi install_drivers.bat și install_STM_COM_drivers.bat .
Pasul 6: Faceți clic pe ambele fișiere bat și instalați driverele. Veți obține un ecran DOS așa cum se arată mai jos.
Acum, Arduino IDE este pregătit pentru programarea plăcii de dezvoltare STM32 (Blue Pill) și sunt instalate și driverele.
Programarea STM32 (Blue Pill) direct prin portul USB
Scoateți placa FTDI și toate conexiunile existente de pe dvs. STM32. Folosiți pur și simplu portul micro-USB de pe placa STM32 pentru a-l conecta la computer așa cum se arată mai jos. Asigurați-vă că jumperul 0 pin este poziționat înapoi la 0 (modul de funcționare). În continuare, nu mai trebuie să comutăm jumperul pentru a încărca și rula programele.
Computerul dvs. ar trebui să poată descoperi placa acum. Așteptați puțin dacă vedeți instalarea de drivere suplimentare. Apoi intrați în Manager dispozitive și verificați dacă placa dvs. STM32 este descoperită în secțiunea COM și port așa cum se arată mai jos. Al meu este conectat la COM8 cu numele Maple Mini.
Mergeți la Instrumente și derulați în jos pentru a găsi seria generică STM32F103C așa cum se arată mai jos. Apoi asigurați-vă că varianta este de tip Flash 64k , viteza procesorului este de 72 MHz și schimbați metoda de încărcare în STM32duino Bootloader . De asemenea, selectați portul COM corect în conformitate cu cel din managerul de dispozitive.
După ce s-au făcut toate modificările, verificați colțul din dreapta jos al IDE-ului Arduino și ar trebui să observați setarea următoare. Placa mea STM32 este conectată la COM8, dar a dvs. ar putea diferi
Acum, Arduino IDE este gata să programeze plăcile de dezvoltare STM 32 Blue Pill. Permiteți-ne să încărcăm Sample Blink Program de pe Arduino IDE pe placa STM32 Blue Pill pentru a ne asigura că totul funcționează corect. Programul de exemplu poate fi găsit la
În exemplul de program care se deschide, trebuie să facem o mică modificare. În mod implicit, programul va fi scris pentru PB1, dar pe placa noastră LED-ul integrat este conectat la PC13, așa că înlocuiți toate PB1 cu PC13 și suntem bine să continuăm. Exemplul complet de program care este modificat poate fi găsit și în partea de jos a acestei pagini.
Codul din interiorul funcției de buclă este prezentat mai jos, unde putem observa că pinul PC13 este păstrat HIGH (pornit) timp de 1000 milisecunde și apoi activat LOW (oprit) pentru încă 1000 milisecunde și acest lucru se face de infinit, deoarece este în funcția buclă . Astfel, LED-ul pare să clipească cu un interval de 1000 milisecunde.
digitalWrite (PC13, HIGH); // aprindeți LED-ul (HIGH este nivelul de tensiune) întârziere (1000); // așteptați un al doilea digitalWrite (PC13, LOW); // opriți LED-ul făcând întârzierea redusă a tensiunii (1000); // așteptați o secundă
Apăsați butonul de încărcare de pe IDE-ul Arduino și programul dvs. ar trebui compilat și încărcat. Dacă totul a funcționat așa cum era de așteptat, ar trebui să vedeți următoarele pe consola dvs. Arduino IDE.
Dacă Programul a fost încărcat cu succes, ar trebui să vedeți LED-ul verde clipind la un interval de 1 secundă, așa cum se arată în videoclipul de mai jos. De asemenea, puteți juca cu programul pentru a crește sau a reduce întârzierea. Acum puteți începe să utilizați placa de dezvoltare STM32 (Blue Pill) ca orice alte plăci Arduino, adică nu mai trebuie să schimbați poziția jumperilor sau să utilizați hardware extern pentru a încărca și testa programe.
Sper că ați înțeles tutorialul și vi s-a părut util să începeți cu STM32 Board. Dacă aveți vreo problemă, lăsați-le în secțiunea de comentarii, spuneți-mi și ce proiecte ar trebui să încercăm cu această placă STM32 în viitor.