Entrada Eixida Digital STM32F1
Transcript of Entrada Eixida Digital STM32F1
armcortexm.blogs.upv.es
Entrada/salida digital en los microcontroladores St STM32
2012/07/06
E/S digital en la familia St STM32Farmcortexm.blogs.upv.es 2
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 STM32Farmcortexm.blogs.upv.es 3
La E/S digital es un mecanismo básico
Entradas digitales (pulsadores)
Salidas digitales (LEDs)
8051 de Broadcom
(pendiente encontrar un ejemplo buena, pena lo de la Tassimo)
E/S digital en la familia St STM32Farmcortexm.blogs.upv.es 4
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 STM32Farmcortexm.blogs.upv.es 5
Notación para identificar los puertos
● Cada fabricante utiliza su propia notación (e interiores)
E/S digital en la familia St STM32Farmcortexm.blogs.upv.es 6
Notación para identificar los puertos
● Para el curso: St STM32F40x LQFP100 (ARM Cortex-M4)
E/S digital en la familia St STM32Farmcortexm.blogs.upv.es 9
La “general-purpose I/O” (GPIO) es la E/S digital
E/S digital en la familia St STM32Farmcortexm.blogs.upv.es 11
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 STM32Farmcortexm.blogs.upv.es 12
Salida digital: ejemplo con el LED de la Discovery
● Configurando el periférico
E/S digital en la familia St STM32Farmcortexm.blogs.upv.es 13
Salida digital: ejemplo con el LED de la Discovery
● Encendiendo y apagando el LED
E/S digital en la familia St STM32Farmcortexm.blogs.upv.es 14
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 STM32Farmcortexm.blogs.upv.es 15
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 STM32Farmcortexm.blogs.upv.es 16
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 STM32Farmcortexm.blogs.upv.es 17
Deberes para la noche
● 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”