- Configurarea IDE Arduino
- Configurarea plăcii STM8S103F3 pentru programarea Arduino IDE
- LED-ul clipește pe STM8S103F3 folosind Arduino
- Arduino Pin Mapping pentru STM8S103F3
- Compilarea bibliotecilor SPL pe Arduino IDE
Arduino a devenit, fără îndoială, un instrument ușor de utilizat și rapid de realizare a prototipurilor, datorită comunității sale de utilizatori de susținere. Astăzi, datorită naturii sale open-source, platforma nu se limitează doar la plăcile Arduino, ci și la alte plăci de dezvoltare, cum ar fi NodeMCU, ESP8266, STM32, MSP430 etc., de asemenea, pot fi programate de la Arduino IDE. Dacă sunteți interesat să știți cum, puteți urmări linkurile de mai jos.
- Programarea NodeMCU cu IDE Arduino
- Programarea ESP8266 cu Arduino IDE
- Programarea STM32 cu Arduino IDE
- Programarea MSP430 cu Energeia (similar cu Arduino)
Fără îndoială, Arduino IDE este excelent pentru începători, dar totuși, pentru dezvoltarea profesională, este bine să lucrați cu medii de dezvoltare native și compilatoare. La fel ca MPLABX pentru microcontrolerele PIC și studioul Code Composer pentru microcontrolerele TI. Folosirea platformei native ne permite să lucrăm la nivel de registru (chiar și la nivel de asamblare, dacă este necesar), permițând programului să fie mai eficient în memorie. Acesta este motivul pentru care, atunci când am început tutorialul cu microcontrolerul STM8Sseria, alegerea platformei a fost STVD și Cosmic C compilator, ambele fiind gratuite pentru descărcare și utilizare. Din păcate, totuși, STVD este un IDE foarte vechi și se simte ca în anii 90 în timp ce lucrați cu el. În plus, instrumentul de programare STVP nu este, de asemenea, bine integrat cu IDE și trebuie să-l utilizați separat. Acest lucru crește timpul de compilare și încărcare și face ca dezvoltarea și depanarea să fie dureroase.
M-am dus în căutare de alternative și atunci a venit Arduino IDE pentru salvare. Un instrument numit Sduino de Michael Mayor ne permite să programăm cu ușurință microcontrolerele STM8s (majoritatea celor populare) din IDE-ul Arduino direct și durează doar câteva minute pentru a configura acest lucru și pentru a începe. Ceea ce este mai interesant este că, în afară de sprijinirea programării în stil Arduino, Sduino ne permite, de asemenea, să folosim Biblioteca Periferică Standard (SPL), cu alte cuvinte, putem compila aproape același program pe STVD în Arduino IDE. Deși Sduino este un instrument interesant, este încă în curs de dezvoltare și încă nu acceptă multe dintre bibliotecile și funcțiile Arduino. Acestea fiind spuse, să învățăm cum să folosim Arduino IDE cu placa de dezvoltare STM8S103F.Dacă sunteți complet nou în această placă, verificați începutul cu tutorialul STM8S103F. În afară de STM8S103F, Sduino acceptă și alte microcontrolere STM8S precum STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14 etc. Procedura explicată în acest tutorial este aceeași pentru toți.
Configurarea IDE Arduino
Pasul 1: Dacă sunteți complet nou în mediul Arduino, descărcați Arduino pe baza sistemului dvs. de operare și instalați-l.
Pasul 2: Urmăriți Fișier -> Preferințe pentru a deschide fereastra de preferințe și lipiți linkul dat mai jos în casetele de text pentru gestionarea adreselor URL suplimentare și faceți clic pe OK
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Pasul 3: Urmați Instrumente -> Board -> Board manager pentru a deschide caseta de dialog a managerului de bord și căutați „sduino”. Faceți clic pe instalare și închideți caseta de dialog după finalizarea instalării.
Pasul 4: Reporniți IDE și apoi urmați Instrumente -> Placă -> STM8S103F3 . Puteți selecta alte plăci dacă aveți o placă de dezvoltare diferită.
Acum, Arduino IDE este gata pentru programarea plăcii de dezvoltare STM8S103F3. Permiteți-ne să configurăm placa, să o conectăm la computer și să programăm pentru un simplu clipire LED.
Configurarea plăcii STM8S103F3 pentru programarea Arduino IDE
Conectați ST-Link V2 cu placa de dezvoltare așa cum se arată mai jos.
Conexiunile sunt destul de simple și cea mai bună parte este că nu aveți nevoie de componente externe. Configurarea mea hardware pentru programare este prezentată mai jos, tocmai am folosit firele antet feminin pentru a-mi face conexiunea. Cu toate acestea, rețineți că pinout-ul dvs. ST-Link ar putea diferi de al meu, asigurați-vă că urmați pinout-ul de pe dispozitiv înainte de a face conexiunile.
Faceți conexiunea și conectați dispozitivul la computer, instalarea driverului ar trebui să înceapă automat. Puteți utiliza administratorul de dispozitive pentru a vă asigura că computerul dvs. a descoperit corect ST-LINK V2. Veți observa, de asemenea, LED-ul de test de pe tablă clipind dacă aceasta este prima dată când alimentați placa.
LED-ul clipește pe STM8S103F3 folosind Arduino
Acum, pentru un LED intermitent simplu, putem folosi programul de clipire din secțiunea de exemplu. Urmăriți fișierul -> Exemplu -> Exemplu_generic -> Noțiuni de bază -> Clipește .
Programul complet pentru clipirea ledului de la bord este prezentat mai jos-
void setup () {// inițializați pinul digital LED_BUILTIN ca ieșire. pinMode (LED_BUILTIN, OUTPUT); } // funcția buclă rulează iar și iar pentru totdeauna void loop () {digitalWrite (LED_BUILTIN, HIGH); // aprindeți LED-ul (HIGH este nivelul de tensiune) întârziere (1000); // așteptați un al doilea digitalWrite (LED_BUILTIN, LOW); // opriți LED-ul făcând întârzierea LOW de tensiune (1000); // așteptați o secundă}
După cum puteți vedea, acest lucru este foarte asemănător cu programul de clipire Arduino. Pentru a încărca programul, asigurați-vă că placa dvs. este conectată prin st-link v2 așa cum s-a discutat mai sus și selectați programatorul ca „ST-Link / V2” așa cum se arată mai jos.
Notă: spre deosebire de plăcile Arduino, nu trebuie să selectați portul COM potrivit pentru programarea plăcii. Veți utiliza portul COM numai pentru comunicații seriale.
Odată selectat portul COM, încărcarea codului este, de asemenea, foarte simplă. Doar apăsați butonul de încărcare (înconjurat cu roșu mai jos) și codul va fi compilat și încărcat automat pe placa noastră.
Asta este, programul este încărcat direct pe tablă și ar trebui să vedeți LED-ul de la bord clipind. Fără software extern de încărcare, fără nimic. La fel de ușor ca asta. Puteți viziona videoclipul din partea de jos a acestei pagini pentru funcționare.
Arduino Pin Mapping pentru STM8S103F3
Dacă doriți să continuați de aici, trebuie să știți cum să abordați fiecare pin de pe placa de dezvoltare STM8S103F3. Maparea pinilor poate fi înțeleasă din această imagine de mai jos-
De exemplu, din schema circuitului plăcii STM8S103F3, știm că LED-ul integrat este conectat la PB5. Pentru a aborda acest pin pe Arduino, trebuie să folosim 3, prin urmare programul poate fi scris ca-
void setup () {// inițializați pinul digital LED_BUILTIN ca ieșire. pinMode (3, OUTPUT); } // funcția buclă rulează iar și iar pentru totdeauna void loop () {digitalWrite (3, LOW); // aprindeți LED-ul (HIGH este nivelul de tensiune) întârziere (1000); // așteptați un al doilea digitalWrite (3, HIGH); // opriți LED-ul făcând întârzierea LOW de tensiune (1000); // așteptați o secundă}
Compilarea bibliotecilor SPL pe Arduino IDE
Așa cum am menționat mai devreme, putem utiliza și biblioteca SPL pe Arduino IDE. Dacă vă amintiți, în tutorialul nostru anterior STM8S GPIO, am scris un cod pentru a clipi LED-ul integrat și, de asemenea, un LED extern folosind butonul. Același cod cu foarte puține modificări poate fi compilat și pe Arduino. Codul modificat este prezentat mai jos.
#define Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // pregătiți portul A pentru funcționarea GPIO_DeInit (GPIOB); // pregătește portul B pentru funcționare // Declară PA2 ca pin de intrare GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Declarați PA3 ca pinul de ieșire push pull GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Declarați PB5 ca pin de ieșire push pull GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // dacă butonul a fost apăsat GPIO_WriteLow (Green_LED); // LED ON else GPIO_WriteHigh (Green_LED); // LED OFF GPIO_WriteReverse (GPIOB, GPIO_PIN_5); întârziere (100); }
Pentru a încheia ID-ul Arduino împreună cu Sduino este o opțiune foarte bună dacă doriți să începeți dezvoltarea cu STM8S. Cu toate acestea, platforma este încă în curs de dezvoltare și multe biblioteci Arduino încă nu sunt acceptate. Totuși, dacă doriți să adânciți și să contribuiți la dezvoltare, ar fi minunat. Dar, de dragul învățării, voi continua seria de tutoriale cu STVD și compilator C cosmic.