Entrada/salida digital en los microcontroladores St STM32 2013/04/12 armcortexm.blogs.upv.es Contenido ● La E/S es un mecanismo básico ● Objetivos ● Notación para identificar los puertos ● Arquitectura interna de un pin de puerto ● La “general-purpose I/O” (GPIO) es la E/S digital ● Salida digital: ejemplo con el LED de la Discovery ● Entrada digital: ejemplo pulsador de la Discovery E/S digital en la familia St STM32F armcortexm.blogs.upv.es 2 La E/S digital es un mecanismo básico Salidas digitales (LEDs) Entradas digitales (pulsadores) Microcontrolador ARM de NXP E/S digital en la familia St STM32F armcortexm.blogs.upv.es 3 Objetivos ● Tomar contacto con un ARM Cortex-M ● Y de paso: – – – Conocer básicamente la arquitectura de E/S digital de los STM32F Aprender a conectar elementos digitales Tener nociones de cómo se programa (la E/S y lo demás) E/S digital en la familia St STM32F armcortexm.blogs.upv.es 4 Notación para identificar los puertos ● Cada fabricante utiliza su propia notación (e interiores) E/S digital en la familia St STM32F armcortexm.blogs.upv.es 5 Notación para identificar los puertos ● Para el curso: St STM32F40x LQFP100 (ARM Cortex-M4) E/S digital en la familia St STM32F armcortexm.blogs.upv.es 6 Notación para identificar los puertos ● St STM32F40x LQFP100 (ARM Cortex-M4) PD15 Nombre del puerto (A, B, C, D ...) E/S digital en la familia St STM32F armcortexm.blogs.upv.es Número de línea (0 ... 15) correspondiente a palabra interna de 16 bits 7 Arquitectura interna de un pin de puerto ● ... para el St STM32F40x , recuéeeeeerdeseeeeeeee E/S digital en la familia St STM32F armcortexm.blogs.upv.es 8 La “general-purpose I/O” (GPIO) es la E/S digital E/S digital en la familia St STM32F armcortexm.blogs.upv.es 9 Salida digital: ejemplo con el LED de la Discovery E/S digital en la familia St STM32F armcortexm.blogs.upv.es 10 Salida digital: ejemplo con el LED de la Discovery ● ● La configuración adecuada de la célula podría ser ● Queremos usarla como salida digital ● En modo “push-pull” para poder atacar el LED ● Los “pull-up” y los “pull-down” los podemos desactivar Y, en la filosofía de ARM, todo dispositivo necesita “reloj” para poder manipularlo y usarlo ● Hacerlo “a pelo” ahora puede asustar bastante ● Se hará con la biblioteca que proporciona el fabricante E/S digital en la familia St STM32F armcortexm.blogs.upv.es 11 Salida digital: ejemplo con el LED de la Discovery ● Configurando el periférico E/S digital en la familia St STM32F armcortexm.blogs.upv.es 12 Salida digital: ejemplo con el LED de la Discovery ● Encendiendo y apagando el LED E/S digital en la familia St STM32F armcortexm.blogs.upv.es 13 Salida digital: ejemplo con el LED de la Discovery ● Ahora tu ... prueba el ejemplo LED y analízalo ● Modifica el ejemplo para encender los otros LEDS E/S digital en la familia St STM32F armcortexm.blogs.upv.es 14 Entrada digital: ejemplo pulsador de la Discovery ● El esquemático un poco retorcido para no quemar el micro E/S digital en la familia St STM32F armcortexm.blogs.upv.es 15 Entrada digital: ejemplo pulsador de la Discovery ● Trabajo: intentar completar los siguiente prototipos ● ● ● ● void pulsador_inicializar(void) unsigned char pulsador_leer(void) //devuelve 1 o 0 según estado del bit ¡¡¡Ayuda!!! ● Manual de la “STM32F4 DSP and standard peripherals library” ● http://armcortexm.blogs.upv.es/material-del-curso/ Introduce el código en el ejemplo del LED y consigue que el LED se encienda al pulsar E/S digital en la familia St STM32F armcortexm.blogs.upv.es 16 Deberes ● Descargar la “STM32F4 DSP and standard peripherals library” ● ● ● ● http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f4_dsp_stdperiph_lib.zip Echar un vistazo al manual que incluye la biblioteca y a los ejemplos de GPIO NOTA: El manual empleado en la actividad anterior se ha obtenido a partir de esta biblioteca empleando un generador doxygen Descargar la “STM32F4DISCOVERY board firmware package v1.1.0″ ● Usar la copia que hay en “Material del curso” E/S digital en la familia St STM32F armcortexm.blogs.upv.es 17