Modulo GPIO STM32F7
Modulo GPIO STM32F7
Modulo GPIO STM32F7
STM32F746ZG
Board Configuration-Up view
Board Configuration-Bottom view
Board Configuration-Bottom view
Main Elements
Main Elements
correcta.
Verde: La comunicación finalizó correctamente.
Main Elements
Push Buttons:
B1 User: Conectado al pin PC13.
B2 Reset: Botón de reset del microcontrolador.
GPIO-I/O Ports
GPIO-I/O Ports
Cada puerto tiene cuatro registros (32 bits) de
configuración:
GPIOx_MODER
GPIOx_OTYPER
GPIOx_OSPEEDR
GPIOx_PUPDR
Ejemplo:
GPIOB→MODER=0x10004001;
Equivale a tener:
Ejemplo:
GPIOB->TYPER=0;
GPIO-I/O Ports
Ejemplo:
GPIOB->PUPDR=0x10004001;
GPIO-I/O Ports
Ejemplo:
GPIOB->OSPEEDR=0x10004001;
GPIO-Reloj de Registros de Puertos
RCC AHB1 peripheral clock
register:RCC_AHB1ENR.
Ejemplo:
RCC→AHB1ENR |=0x08;
Activa el reloj del registros para el puerto D. La
instrucción |= evita que se deshabilite los relojes
previamente activados.
GPIO-Ejemplo
#include <stdio.h>
#include "STM32F7xx.h"
int time=500000;
while(true){
GPIOB->ODR |=(1UL<<14);
for(i=0;i<time;i++);
GPIOB->ODR &= ~(1UL<<14);
for(i=0;i<time;i++);
}
}
GPIO-Ejercicio: Disp. 7 segm.
Puerto B:
12 11 2 1 15 14 13
A BCD E F G
GPIO-Ejercicio: Disp. 7 segm.
#include <stdio.h>
#include "STM32F7xx.h"
int time=500000;
while(true){
for(i=0;i<time;i++);
GPIOB->ODR =0x2000;
for(i=0;i<time;i++);
GPIOB->ODR =0xF002;
for(i=0;i<time;i++);
GPIOB->ODR =0x4004;
for(i=0;i<time;i++);
GPIOB->ODR =0xC000;
}
}