Вы находитесь на странице: 1из 3

Centro de Enseanza Tcnica Industrial.

Chavez Monsivais, Prctica con SMT32F407


Chavez Monsivais Roberto Daniel
rm5191@hotmail.com
Centro de Enseanza Tcnica Industrial

Preparacin de Reportes de Prcticas de Laboratorio

Resumen Prctica #1 con Microprocesador


SMT32F407.
ndice de TrminosPrctica SMT32F407
I. INTRODUCCIN
El STM32F407G-DISC1 es el nuevo reemplazo
compatible
con
versiones
anteriores
de
STMicroelectronics para el kit STM32F4Discovery.
La nueva funcin de este kit de deteccin es la
compatibilidad con la plataforma de dispositivo de
IoT ARM mbed.
El
kit
de
deteccin
STM32F4,
de
STMicroelectronics, est diseado para evaluar las
caractersticas de los microcontroladores de las
series
STM32F407
y
STM32F417.
Los
microcontroladores STM32F407 y STM32F417
estn basados en el ncleo de alto rendimiento
ARM Cortex M4F de 32 bits.
Todos los kits de deteccin, incluidos el kit de
deteccin STM32F4, son adecuados para todos los
tipos de usuario. Desde principiantes hasta
desarrolladores experimentados de software y
aplicaciones. Este sencillo sistema de evaluacin
permite una configuracin y puesta en marcha
rpida y sencilla.
La placa de demostracin se basa en la
STM32F407VGT6. Incluye una herramienta de
depuracin integrada ST-Link, un acelermetro
digital ST MEMS (LIS302DL o LIS3DSH) y un
micrfono digital omnidireccional ST MEMS
(MP45DT02). Tambin incluye el DAC de audio
CS43L22 con controlador de altavoz de clase D,
LED, botones pulsadores y un conector USB OTG
micro-AB.

Las familias
STM32F405,

de microcontroladores (MCU)
STM32F407,
STM32F415,

STM32F417 estn basadas en el ncleo de alto


rendimiento Cortex-M4F de ARM de 32 bits, que
funciona a una frecuencia de hasta 168 MHz. El
ncleo Cortex-M4F presenta una unidad de punto
flotante (FPU) de precisin nica que es compatible
con todo tipo de datos e instrucciones de
procesamiento de datos de ARM. Tambin
implementa un juego completo de instrucciones de
DSP y una unidad de proteccin de memoria (MPU)
que mejora la seguridad de la aplicacin.

Todos los dispositivos ofrecen tres ADC de 12 bits,


dos DAC, un RTC de baja potencia, 12
temporizadores de 16 bits de uso general que
incluyen dos temporizadores de PWM para el
control del motor, dos temporizadores de 32 bits de
uso general y un generador verdadero de nmeros
aleatorios (RNG), adems de interfaces de
comunicacin estndar y avanzadas.
II.

PROCEDIMIENTO PARA LA SUMISIN DEL


DOCUMENTO

A. Funcionamiento

Centro de Enseanza Tcnica Industrial. Chavez Monsivais, Prctica con SMT32F407

Los dispositivos STM32F415, STM32F417 incluyen una


unidad de aceleracin criptogrfica adicional.

Microcontrolador STM32F407VGT6 con un ncleo


Cortex-M4F de ARM de 32 bits, flash de 1 MB,
RAM de 192 kB y un encapsulado LQFP100.

Conexin ST-LINK/V2 integrada con interruptor de


modo de seleccin para utilizar el kit como conexin
ST-LINK/V2 autnoma (con conector SWD para
programacin y depuracin).

Fuente de alimentacin de placa mediante bus USB o


alimentacin externa de 5 V.

Fuente de alimentacin externa: 3 V y 5 V.

Acelermetro de 3 ejes ST MEMS LIS302DL o


LIS3DSH.

MP45DT02, sensor de audio ST MEMS, micrfono


digital omnidireccional.

CS43L22, convertidor digital a analgico de audio


con driver de altavoz de clase D integrado.

Ocho LED: LD1 (rojo/verde) para comunicacin


USB, LD2 (rojo) para alimentacin de 3,3 V.

Cuatro LED configurables por el usuario, LD3


(naranja), LD4 (verde), LD5 (rojo) y LD6 (azul) 2
LED USB OTG LD7 (verde) VBus y LD8 (rojo)
de sobre corriente.

Dos botones pulsadores (usuario y reset).

USB OTG FS con conector micro AB.

Las caractersticas principales del microcontrolador


STM32F407VGT6 son:

Conector de extensin para todas las E/S LQFP100


para la conexin rpida a la placa de desarrollo de
prototipos y para realizar sondeos sencillos.

Ncleo ARM Cortex M4 de 32 bits a 168


MHz (210 DMIPS) con 1 MB Flash y 192
KB RAM.
USB OTG FS.
Entradas/salidas: 8 puertos de 16 bits + 1
puerto de 12 bits con funcin alternativa.
14 timers, 6 USART, 3 SPI, 3 I2C, 3 ADC, 2
DAC, 2 CAN.
III. PRCTICA

Para esta prctica utilizando el microcontrolador SMT32F407,


utilizando uno de los botones de nuestro smt32f407 se logr
hacer una cuenta de 4 bits, mostrndola en los 4 leds de la
tarjeta:
#include
#include
#include
#include
#include
#include

"stm32f4xx.h"
"stm32f4xx_syscfg.h"
"stm32f4xx_rcc.h"
"stm32f4xx_gpio.h"
"stm32f4xx_exti.h"
"misc.h"

Centro de Enseanza Tcnica Industrial. Chavez Monsivais, Prctica con SMT32F407

int a=0;
EXTI_InitTypeDef
EXTI_InitStructure;
void EXTILine0_Config(void);
void LEDInit(void);
void delay(int t);
void main(void)
{
LEDInit();
EXTILine0_Config();
GPIO_WriteBit(GPIOA, GPIO_Pin_1, 1);
while (1){}
}
void LEDInit()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD,
ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|
GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,
ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
void EXTILine0_Config(void)
{
GPIO_InitTypeDef
GPIO_InitStructure;
NVIC_InitTypeDef
NVIC_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,
ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,
ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_Init(GPIOA, &GPIO_InitStructure);

EXTI_InitStructure.EXTI_Trigger =
EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority
= 0x01;
NVIC_InitStructure.NVIC_IRQChannelSubPriority =
0x01;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void delay(int t)
{
while(t>0)
{
t--;
}
}
void EXTI0_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line0)!= RESET)
{
delay(10000);

if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==1)
{
a++;
GPIO_Write(GPIOD,a<<12);
if(a>0xF)
a=0;
}
EXTI_ClearITPendingBit(EXTI_Line0);
}
}

IV. CONCLUSIONES
En conclusin la tarjeta STM32F4-DISCOVERY es
de muy alta calidad con un costo bajo.
La tarjeta viene con un muchas caractersticas de
on-board que hace que el desarrollo mucho ms
rpido y ms fcil. Esto hace que sea posible probar
algunas de las caractersticas del procesador.
REFERENCIAS

// Conectar EXTI Line0 al pin PA0


SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,
EXTI_PinSource0);

[1] http://electronicatk.blogspot.mx/2015/06/placa-stm32f4discovery.html

// Configurar EXTI Line0


EXTI_InitStructure.EXTI_Line = EXTI_Line0;
EXTI_InitStructure.EXTI_Mode =
EXTI_Mode_Interrupt;

[2] http://es.rs-online.com/web/p/kits-de-desarrollo-deprocesador-y-microcontrolador/7458434/

Вам также может понравиться