- Configuración del IDE de Arduino
- Configuración de la placa STM8S103F3 para la programación Arduino IDE
- LED parpadeando en STM8S103F3 usando Arduino
- Asignación de pines Arduino para STM8S103F3
- Compilación de bibliotecas SPL en Arduino IDE
Sin duda, Arduino se ha convertido en una herramienta de creación de prototipos rápida y fácil de usar, gracias a su comunidad de usuarios de apoyo. Hoy en día, debido a su naturaleza de código abierto, la plataforma no solo se limita a las placas Arduino, sino también a otras placas de desarrollo como NodeMCU, ESP8266, STM32, MSP430, etc.también se pueden programar desde el IDE de Arduino. Si está interesado en saber cómo, puede seguir los enlaces a continuación.
- Programando NodeMCU con Arduino IDE
- Programando ESP8266 con Arduino IDE
- Programando STM32 con Arduino IDE
- Programando MSP430 con Energeia (similar a Arduino)
Sin duda, el IDE de Arduino es ideal para principiantes, pero aún así, para el desarrollo profesional, es bueno trabajar con compiladores y entornos de desarrollo nativos. Como el MPLABX para microcontroladores PIC y el estudio Code Composer para microcontroladores TI. El uso de la plataforma nativa nos permite trabajar a nivel de registro (incluso a nivel de ensamblaje si es necesario), lo que permite que el programa sea más efectivo en memoria. Es por eso que cuando comenzamos el tutorial del microcontrolador STM8Sserie, la plataforma elegida fue STVD y el compilador Cosmic C, ambos de descarga y uso gratuitos. Lamentablemente, sin embargo, el STVD es un IDE muy antiguo y se siente como de los 90 mientras trabaja con él. Además de eso, la herramienta de programación STVP tampoco está bien integrada con IDE y debe usarla por separado. Esto aumenta el tiempo de compilación y carga y dificulta el desarrollo y la depuración.
Fui en busca de alternativas y fue entonces cuando el Arduino IDE vino a rescatarme. Una herramienta llamada Sduino de Michael Mayor nos permite programar fácilmente los microcontroladores STM8 (la mayoría de los más populares) directamente desde el IDE de Arduino y solo se necesitan unos minutos para configurarlo y comenzar. Lo que es más interesante es que además de admitir la programación estilo Arduino, Sduino también nos permite usar la Biblioteca de periféricos estándar (SPL), en otras palabras, casi podemos compilar el mismo programa en STVD en el IDE de Arduino. Aunque Sduino es una herramienta genial, todavía está en desarrollo y aún no es compatible con muchas de las bibliotecas y funciones de Arduino. Dicho esto, aprendamos a usar Arduino IDE con la placa de desarrollo STM8S103F.Si es completamente nuevo en esta placa, consulte el tutorial de introducción al STM8S103F. Además del STM8S103F, Sduino también admite otros microcontroladores STM8S como STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14, etc. El procedimiento explicado en este tutorial es el mismo para todos.
Configuración del IDE de Arduino
Paso 1: Si es completamente nuevo en el entorno Arduino, descargue Arduino según su sistema operativo e instálelo.
Paso 2: Siga Archivo -> Preferencias para abrir la ventana de preferencias y pegue el enlace que se muestra a continuación en el cuadro de texto de administración de URL de tableros adicionales y haga clic en Aceptar.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Paso 3: Siga Herramientas -> Tablero -> Administrador de tablero para abrir el cuadro de diálogo del administrador de tablero y busque "sduino". Haga clic en instalar y cierre el cuadro de diálogo una vez finalizada la instalación.
Paso 4: Reinicie el IDE y luego siga Herramientas -> Placa -> STM8S103F3 . Puede seleccionar otras placas si tiene una placa de desarrollo diferente.
Ahora el IDE de Arduino está listo para programar la placa de desarrollo STM8S103F3. Configuremos la placa, la conectemos a la computadora y programemos para que parpadee un LED.
Configuración de la placa STM8S103F3 para la programación Arduino IDE
Conecte el ST-Link V2 con la placa de desarrollo como se muestra a continuación.
Las conexiones son bastante sencillas y la mejor parte es que no necesita componentes externos. Mi configuración de hardware para la programación se muestra a continuación, acabo de usar los cables del cabezal hembra para hacer mi conexión. Sin embargo, tenga en cuenta que el pinout de su ST-Link puede diferir del mío, asegúrese de seguir el pinout del dispositivo antes de realizar las conexiones.
Realice la conexión y conecte el dispositivo a su computadora, la instalación del controlador debería comenzar automáticamente. Puede utilizar el administrador de dispositivos para asegurarse de que su computadora haya descubierto ST-LINK V2 correctamente. También notará que el LED de prueba en la placa parpadea si es la primera vez que enciende la placa.
LED parpadeando en STM8S103F3 usando Arduino
Ahora, para un simple LED parpadeando, podemos usar el programa de parpadeo de la sección de ejemplo. Siga Archivo -> Ejemplo -> Ejemplo_generico -> Conceptos básicos -> Parpadeo .
El programa completo para hacer parpadear el LED integrado se muestra a continuación:
void setup () {// inicializa el pin digital LED_BUILTIN como salida. pinMode (LED_BUILTIN, SALIDA); } // la función de bucle se ejecuta una y otra vez para siempre void loop () {digitalWrite (LED_BUILTIN, HIGH); // enciende el LED (HIGH es el nivel de voltaje) delay (1000); // espera una segunda escritura digital (LED_BUILTIN, LOW); // apaga el LED haciendo que la tensión sea BAJA (1000); // Espera un segundo }
Como puede ver, esto es muy similar al programa Blink de Arduino. Para cargar el programa, asegúrese de que su placa esté conectada a través de st-link v2 como se explicó anteriormente y seleccione el programador como “ST-Link / V2” como se muestra a continuación.
Nota: A diferencia de las placas Arduino, no es necesario seleccionar el puerto COM correcto para programar la placa. Utilizará el puerto COM solo para la comunicación en serie.
Una vez que se selecciona el puerto COM, cargar el código también es muy simple. Simplemente presione el botón de carga (rodeado en rojo a continuación) y el código se compilará y cargará en nuestro tablero automáticamente.
Eso es todo, el programa se carga directamente en la placa y debería ver parpadear el LED integrado. Sin software de carga externo, sin nada. Tan fácil como eso. Puede ver el video en la parte inferior de esta página para ver el trabajo.
Asignación de pines Arduino para STM8S103F3
Si desea continuar desde aquí, debe saber cómo direccionar cada pin en la placa de desarrollo STM8S103F3. El mapeo de pines se puede entender en esta imagen a continuación:
Por ejemplo, del diagrama de circuito de la placa STM8S103F3, sabemos que el LED integrado está conectado a PB5. Para abordar este pin en Arduino, tenemos que usar 3, por lo tanto, el programa se puede escribir como-
void setup () {// inicializa el pin digital LED_BUILTIN como salida. pinMode (3, SALIDA); } // la función de bucle se ejecuta una y otra vez para siempre void loop () {digitalWrite (3, LOW); // enciende el LED (HIGH es el nivel de voltaje) delay (1000); // espera un segundo digitalWrite (3, HIGH); // apaga el LED haciendo que la tensión sea BAJA (1000); // Espera un segundo }
Compilación de bibliotecas SPL en Arduino IDE
Como se mencionó anteriormente, también podemos usar la biblioteca SPL en Arduino IDE. Si recuerda, en nuestro tutorial anterior de GPIO STM8S, escribimos un código para hacer parpadear el LED integrado y también un LED externo usando el botón. El mismo código con muy pocas modificaciones también se puede compilar en Arduino. El código modificado se muestra a continuación.
#define Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // preparar el puerto A para que funcione GPIO_DeInit (GPIOB); // preparar el puerto B para trabajar // Declarar PA2 como pin de extracción de entrada GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Declarar PA3 como pin de salida Push Pull GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Declarar PB5 como pin de salida push-pull GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // si se presiona el botón GPIO_WriteLow (Green_LED); // LED ENCENDIDO else GPIO_WriteHigh (Green_LED); // LED APAGADO GPIO_WriteReverse (GPIOB, GPIO_PIN_5); retraso (100); }
Para concluir, el Arduino IDE junto con el Sduino es una muy buena opción si desea comenzar su desarrollo con STM8S. Sin embargo, la plataforma aún está en desarrollo y muchas bibliotecas de Arduino aún no son compatibles. Aún así, si desea profundizar y contribuir al desarrollo, sería genial. Pero, por el bien de aprender, continuaré la serie de tutoriales con STVD y el compilador cósmico de C.