- Configuració de l'IDE Arduino
- Configuració de la placa STM8S103F3 per a la programació Arduino IDE
- El LED parpelleja a STM8S103F3 mitjançant Arduino
- Assignació de pins Arduino per a STM8S103F3
- Compilació de biblioteques SPL a Arduino IDE
Sens dubte, Arduino s’ha convertit en una eina de prototipatge ràpida i fàcil d’utilitzar, gràcies a la seva comunitat d’usuaris de suport. Avui, a causa de la seva naturalesa de codi obert, la plataforma no només es limita a les plaques Arduino, sinó també a altres plaques de desenvolupament com el NodeMCU, ESP8266, STM32, MSP430, etc. també es poden programar des de l’IDE Arduino. Si esteu interessats en saber com fer-ho, podeu seguir els enllaços següents.
- Programació de NodeMCU amb IDE Arduino
- Programació ESP8266 amb IDE Arduino
- Programació de STM32 amb IDE Arduino
- Programació de MSP430 amb Energeia (similar a Arduino)
Sens dubte, l'IDE d'Arduino és ideal per a principiants, però, per al desenvolupament professional, és bo treballar amb entorns de desenvolupament natius i compiladors. Igual que el MPLABX per als microcontroladors PIC i l’estudi Code Composer per als microcontroladors TI. L'ús de la plataforma nativa ens permet treballar a nivell de registre (fins i tot a nivell d'assemblea si cal), cosa que permet que el programa sigui més eficaç en memòria. És per això que quan vam iniciar el tutorial del microcontrolador STM8Ssèrie, l’elecció de la plataforma va ser el compilador STVD i Cosmic C, que es poden descarregar i utilitzar de manera gratuïta. Malauradament, el STVD és un IDE molt antic i se sent com els anys 90 mentre treballa amb ell. A més, l'eina de programació STVP tampoc està ben integrada amb IDE i l'heu d'utilitzar per separat. Això augmenta el temps de compilació i càrrega i fa que el desenvolupament i la depuració siguin un problema.
Vaig anar a la recerca d’alternatives i va ser llavors quan Arduino IDE va venir a rescat. Una eina anomenada Sduino de Michael Mayor ens permet programar fàcilment els microcontroladors STM8s (la majoria dels més populars) des de l’IDE Arduino i només es necessiten minuts per configurar-ho i començar. El que és més interessant és que, a part de donar suport a la programació d’estil Arduino, Sduino també ens permet utilitzar la biblioteca perifèrica estàndard (SPL), és a dir, gairebé podem compilar el mateix programa en STVD a l’IDE Arduino. Tot i que el Sduino és una eina interessant, encara està en desenvolupament i encara no admet moltes de les funcions i les biblioteques Arduino. Dit això, aprenem a utilitzar Arduino IDE amb la placa de desenvolupament STM8S103F.Si sou completament nou en aquest tauler, comproveu els primers passos amb el tutorial STM8S103F. A part del STM8S103F, Sduino també admet altres microcontroladors STM8S com el STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14, etc. El procediment explicat en aquest tutorial és el mateix per a tots.
Configuració de l'IDE Arduino
Pas 1: si sou completament nou a l'entorn Arduino, descarregueu Arduino segons el vostre sistema operatiu i instal·leu-lo.
Pas 2: seguiu Fitxer -> Preferències per obrir la finestra de preferències i enganxar l'enllaç que es mostra a continuació al quadre de text Gestiona URL de taulers addicionals i feu clic a D'acord.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json

Pas 3: seguiu Eines -> Tauler -> Gestor de taules per obrir el quadre de diàleg Administrador de taules i cercar "sduino". Feu clic a Instal·la i tanqueu el quadre de diàleg un cop finalitzada la instal·lació.

Pas 4: reinicieu l'IDE i, a continuació, seguiu Eines -> Tauler -> STM8S103F3 . Podeu seleccionar altres taulers si teniu un tauler de desenvolupament diferent.

Ara Arduino IDE està preparat per programar la placa de desenvolupament STM8S103F3. Configurem la placa, connectem-la a l'ordinador i programem un parpelleig senzill de LED.
Configuració de la placa STM8S103F3 per a la programació Arduino IDE
Connecteu el ST-Link V2 amb la placa de desenvolupament com es mostra a continuació.

Les connexions són força senzilles i el millor és que no necessiteu components externs. La configuració del maquinari per a la programació es mostra a continuació, acabo d’utilitzar els cables de capçalera femenina per establir la meva connexió. Tanmateix, tingueu en compte que el pinout del vostre ST-Link pot diferir del meu. Assegureu-vos de seguir el pinout del dispositiu abans de fer les connexions.

Feu la connexió i connecteu el dispositiu a l'ordinador; la instal·lació del controlador hauria de començar automàticament. Podeu utilitzar el gestor de dispositius per assegurar-vos que l’ordinador ha descobert correctament ST-LINK V2. També notareu que el LED de prova de la placa parpelleja si és la primera vegada que enceneu la placa.
El LED parpelleja a STM8S103F3 mitjançant Arduino
Ara, per a un simple LED parpellejant, podem utilitzar el programa de parpelleig de la secció d'exemple. Segueix Fitxer -> Exemple -> Exemple_genèric -> Conceptes bàsics -> Parpelleja .

A continuació es mostra el programa complet per parpellejar el led integrat.
void setup () {// inicialitzeu el pin digital LED_BUILTIN com a sortida. pinMode (LED_BUILTIN, OUTPUT); } // la funció de bucle s'executa una i altra vegada per sempre buit bucle () {digitalWrite (LED_BUILTIN, HIGH); // encendre el LED (HIGH és el nivell de tensió) retard (1000); // esperar un segon digitalWrite (LED_BUILTIN, BAIX); // apagueu el LED fent que el voltatge sigui BAIX endarrerit (1000); // esperar un segon}
Com podeu veure, això és molt similar al programa de parpelleig Arduino. Per carregar el programa, assegureu-vos que la vostra placa estigui connectada mitjançant st-link v2 tal com es va comentar anteriorment i seleccioneu el programador com a "ST-Link / V2" com es mostra a continuació.

Nota: A diferència de les plaques Arduino, no cal que seleccioneu el port COM adequat per programar la placa. Feu servir el port COM només per a la comunicació en sèrie.
Un cop seleccionat el port COM, la càrrega del codi també és molt senzilla. Simplement premeu el botó de càrrega (encerclat en vermell a continuació) i el codi es compilarà i es carregarà al nostre tauler automàticament.

És a dir, el programa es penja directament al tauler i hauríeu de veure que el LED de la placa parpelleja. No hi ha programari de càrrega extern ni res. Tan fàcil com això. Podeu veure el vídeo al final d'aquesta pàgina per obtenir informació sobre el funcionament.
Assignació de pins Arduino per a STM8S103F3
Si voleu procedir d’aquí, heu de saber com dirigir-vos a cada pin del tauler de desenvolupament STM8S103F3. El mapatge de pins es pot entendre a partir d’aquesta imatge següent:

Per exemple, a partir del diagrama de circuits de la placa STM8S103F3, sabem que el LED integrat està connectat a PB5. Per abordar aquest pin a Arduino, hem d’utilitzar 3, per tant, el programa es pot escriure com
void setup () {// inicialitzeu el pin digital LED_BUILTIN com a sortida. pinMode (3, OUTPUT); } // la funció de bucle s'executa una i altra vegada per sempre void loop () {digitalWrite (3, LOW); // encendre el LED (HIGH és el nivell de tensió) retard (1000); // esperar un segon digitalWrite (3, HIGH); // apagueu el LED fent que el voltatge sigui BAIX endarrerit (1000); // esperar un segon}
Compilació de biblioteques SPL a Arduino IDE
Com es va esmentar anteriorment, també podem utilitzar la biblioteca SPL a Arduino IDE. Si recordeu, en el nostre anterior tutorial STM8S GPIO, vam escriure un codi per parpellejar el LED incorporat i també un LED extern mitjançant el polsador. El mateix codi amb molt poques modificacions també es pot compilar a Arduino. El codi modificat es mostra a continuació.
#define Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // prepareu el port A perquè funcioni GPIO_DeInit (GPIOB); // prepareu el port B perquè funcioni // Declareu PA2 com a pin d'entrada pull up GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Declareu PA3 com a pin de sortida push pull GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Declareu PB5 com a pin de sortida push pull GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } bucle buit () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // si es prem el botó GPIO_WriteLow (Green_LED); // LED Encès GPIO_WriteHigh (Green_LED); // LED OFF GPIO_WriteReverse (GPIOB, GPIO_PIN_5); retard (100); }
Per concloure l'IDE Arduino juntament amb el Sduino és una molt bona opció si voleu iniciar el vostre desenvolupament amb STM8S. Tot i això, la plataforma encara està en desenvolupament i encara no s’admeten moltes biblioteques Arduino. Tot i això, si voleu aprofundir i contribuir al desenvolupament, seria fantàstic. Però, per tal d’aprendre, continuaré la sèrie de tutorials amb STVD i el compilador C cosmic.
