ARM
ARM
ARM
Curso Prctico de
Microcontroladores
ARM-CORTEX M4
Sesin 1: Introduccin a
los Microcontroladores
ARM
Agenda
1. Introduccin a los Microcontroladores STM32F407
ARM CORTEX M4
2. Descripcin del Hardware a usar en Clase: Tarjeta
Discovery
3. Software Coocox IDE
4. Primer proyecto en Coocox IDE
5. Primer programa en los Uc
20/01/2016
Qu ES ARM?
ARM, originalmente Acorn RISC Machine,
es una familia de Computadoras con
Conjunto de Instrucciones Reducidas
(RISC) arquitecturas para procesadores
de computadores, configurados para
diversos entornos, desarrollado por la
compaa britnica ARM Holdings.
20/01/2016
VENTAJA DE LA ARQUITECTURA
ARM
20/01/2016
ARQUITECTURAS ARM
20/01/2016
CARACTERISTICAS
ARQUITECTURA CORTEX-M
3 STAGE PIPELINE
THUMB
DSP
FPU(Floating Point Unit)
DIRECT MEMORY ACCESS(DMA)
CHROM-ART ACCELERATOR(DMA2D)
Nested
Vectored
Interrupt
Controller
(NVIC)
ADVANCED
MICROCONTROLLER
BUS
ARCHITECTURE (AMBA)
20/01/2016
TARJETA DE DESARROLLO
STM32F407VG DISCOVERY
20/01/2016
20/01/2016
20/01/2016
SYSTEM CLOCK EN
STM32F407VG
The high speed internal clock (HSI)
The high speed external clock(HSE)
The phase locked loop (PLL) clock.
NOTA: RELOJ SECUNDARIO
LSI clock usado como parte del watch
dog timer.
The LSE usado para el real time clock
(RTC)
10
20/01/2016
PLL
11
20/01/2016
12
20/01/2016
13
20/01/2016
ESTRUCTURA BASICA
DE UN I/O
14
20/01/2016
CIRCUITO PULLUP
15
20/01/2016
CIRCUITO PULLDOWN
16
20/01/2016
CIRCUITO DE ENTRADA
FLOTANTE
17
20/01/2016
18
20/01/2016
19
20/01/2016
20/01/2016
21
20/01/2016
22
20/01/2016
GPIOx_OTYPER
23
20/01/2016
GPIOx_OSPEEDR
24
20/01/2016
GPIOx_PUPDR
25
20/01/2016
GPIOx_BSRR
26
20/01/2016
GPIOx_ODR
27
20/01/2016
GPIOx_IDR
28
20/01/2016
29
20/01/2016
MANEJO DE LIBRERIAS EN
COOCOX IDE
AGREGAR LOS SIGUIENTES HEADERS.
30
20/01/2016
RCC_AHBPeriph: specifies
the
AHB1
peripheral to gates its clock.
NewState: new state of the specified
peripheral clock. This parameter can be:
ENABLE or DISABLE.
31
20/01/2016
Parmetros
GPIOx: donde x puede ser (A..I) para
seleccionar el perifrico GPIO
GPIO_InitStruct:Puntero
a
estructura
GPIO_InitTypeDef
que
contiene
la
configuracin del perifrico GPIO.
32
20/01/2016
ESTRUCTURA DE
CONFIGURACION STM32F407VG
uint32_t GPIO_Pin
Especifica el PIN a
configurar,
este
parmetro puede ser
cualquier
valor
de GPIO_pins_defi
ne.
33
20/01/2016
GPIOMode_TypeDef GPIO_Mode
34
20/01/2016
GPIOOType_TypeDef GPIO_OType
GPIOSpeed_TypeDef GPIO_Speed
Especifica
la
seleccionado.
35
20/01/2016
velocidad
del
pin
GPIOPuPd_TypeDef GPIO_PuPd
36
20/01/2016
PASOS PARA LA
CONFIGURACION DEL GPIO
20/01/2016
38
20/01/2016
SELECCIONAMOS EL PIN DE
CONFIGURACION
39
20/01/2016
40
20/01/2016
Parmetros
GPIOx: donde
x
puede
ser(A..I)
el
perifrico GPIO seleccionado.
GPIO_Pin: Especifica el bit del Puerto a
ser escrito. Este parmetro puede ser
cualquier combinacin de GPIO_Pin_x
donde x puede ser(0..15).
41
20/01/2016
Parmetros
GPIOx: donde
x
puede
ser(A..I)
el
perifrico GPIO seleccionado.
GPIO_Pin: Especifica el bit del Puerto a
ser escrito. Este parmetro puede ser
cualquier combinacin de GPIO_Pin_x
donde x puede ser(0..15).
42
20/01/2016
Parmetros
GPIOx:
donde x puede ser(A..I)
el perifrico GPIO seleccionado.
GPIO_Pin:Especifica el bit del
Puerto a ser escrito. Este parmetro
puede ser cualquier combinacin de
GPIO_Pin_x
donde
x
puede
ser(0..15).
43
20/01/2016
Parmetros
GPIOx: donde x puede ser(A..I) el perifrico
GPIO seleccionado.
GPIO_Pin: Especifica el bit del Puerto a
ser escrito. Este parmetro puede ser
cualquier combinacin de GPIO_Pin_x donde
x puede ser(0..15).
Valor de retorno
El valor de pin en el Puerto de entrada.
44
20/01/2016
SYSTICK
SysTick
Se trata de un temporizador de 24
bits de cuenta descendente, que
produce una Interrupcin cuando el
registro interno llega a cero desde el
valor de recarga inicial
45
20/01/2016
FUNCION PARA LA
MANIPULACION DEL SYSTICK
46
20/01/2016
47
20/01/2016
48
20/01/2016
PROGRAMACION
49
20/01/2016
50
20/01/2016
51
20/01/2016
Ejemplo:
52
20/01/2016
53
20/01/2016
Muchas Gracias
Robert Ramrez
Docente - Centro de Entrenamiento
RMJ Electronics SAC
Correo
[email protected]
54
20/01/2016