cmsis y drivers para perif ericos -...

32
CMSIS y Drivers Perif´ ericos del LPC1768 Actividades CMSIS y Drivers para perif´ ericos Alan Kharsansky 10 - Febrero - 2011 Alan Kharsansky CMSIS y Drivers para perif´ ericos 1 / 32

Upload: dangdiep

Post on 01-Mar-2019

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

CMSIS y Drivers para perifericos

Alan Kharsansky

10 - Febrero - 2011

Alan Kharsansky CMSIS y Drivers para perifericos 1 / 32

Page 2: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Indice

1 CMSIS y DriversIntroduccionEstructuraUtilizacionEjemplo

2 Perifericos del LPC1768Configuracion de pines

3 ActividadesActividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Alan Kharsansky CMSIS y Drivers para perifericos 2 / 32

Page 3: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

IntroduccionEstructuraUtilizacionEjemplo

Recursos de NXP

NXP provee en su sitio web una implementacion del CMSIS juntocon Drivers basicos para sus perifericos. Desde su ultima versiontambien incluye funciones de DSP optimizadas para distintasarquitecturas.

Website del LPC1768 Ir

Se lo encuentra bajo el nombre:LPC17xx CMSIS-Compliant Standard Peripheral Firmware DriverLibrary (GNU, Keil, IAR)

Alan Kharsansky CMSIS y Drivers para perifericos 3 / 32

Page 4: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

IntroduccionEstructuraUtilizacionEjemplo

Recursos de NXP

Los archivos provistos por NXP no estan contenidos dentro de unproyecto de CodeRed por lo que se arreglo esta distribucion parapoder hacerlo. Este recurso se encuentra en el website de lamateria para descargar.

El paquete tambien original incluye un archivo de ayuda (.chm)que fue descomprimido en archivos HTML para poder hacerloportable. Este puede ser descargado del website de la materia.

Alan Kharsansky CMSIS y Drivers para perifericos 4 / 32

Page 5: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

IntroduccionEstructuraUtilizacionEjemplo

Estructura del paquete

El proyecto esta estructurado de la siguiente forma:

CoreCM3

CoreSupportDeviceSupport

DocumentationDSP Lib

Drivers

Examples

Alan Kharsansky CMSIS y Drivers para perifericos 5 / 32

Page 6: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

IntroduccionEstructuraUtilizacionEjemplo

Utilizacion

Para poder utilizar estas bibliotecas el proyecto se debe encontraren el mismo workspace que nuestra aplicacion. Como todo(CMSIS, Drivers y DSP Lib) se encuentra bajo el mismo proyecto,solo es necesario linkear con una sola biblioteca para su utilizacion.

LPC17XX CMSIS Drivers

Alan Kharsansky CMSIS y Drivers para perifericos 6 / 32

Page 7: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

IntroduccionEstructuraUtilizacionEjemplo

Inclusion

Recordar: Se debera incluir los archivos de cabeceras (.h) que sedeseen utilizar. Por ejemplo:

CMSIS

#i n c l u d e ”LPC17xx . h”

Drivers

#i n c l u d e ” l p c 1 7 x x u a r t . h”#i n c l u d e ” l p c 1 7 x x g p i o . h”

DSP

#i n c l u d e ” arm math . h”

Alan Kharsansky CMSIS y Drivers para perifericos 7 / 32

Page 8: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

IntroduccionEstructuraUtilizacionEjemplo

Un ejemplo - Blinky con Drivers

#i f d e f USE CMSIS#i n c l u d e ”LPC17xx . h”#e n d i f

#i n c l u d e ” l p c 1 7 x x g p i o . h”

i n t main ( v o i d ) {GPIO SetDir (0 ,(1 <<22) ,1);w h i l e ( 1 ) {

i n t i ;GPIO SetValue (0 ,(1 <<22));f o r ( i =0; i <10000000; i ++);GPIO ClearVa lue (0 ,(1 <<22));f o r ( i =0; i <10000000; i ++);

}r e t u r n 0 ;

}

Alan Kharsansky CMSIS y Drivers para perifericos 8 / 32

Page 9: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

ActividadesConfiguracion de pines

Configuracion de pines. El PINSEL

Muchos de los pines externos que posee el encapsulado delLPC1768 pueden cumplir varias funciones diferentes. Pueden serdigitales, analogicos, de comunicacion, etc.

Tambien pueden tener activados Pull-Ups o Pull-Down y otrasdiferentes caracteristicas. Es por eso que debemos antes de usarcualquier pin, configurarlo para cumpla con la funcion que nosotrosbuscamos.

Alan Kharsansky CMSIS y Drivers para perifericos 9 / 32

Page 10: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

ActividadesConfiguracion de pines

Configuracion de pines. El PINSEL

Para poder seleccionar la funcin de cada pin, se incluyen losregistros PINSELn. Estos registros permiten seleccionar (de a 2bits) la funcion del pin. Siendo posibles las siguientes opciones:

Alan Kharsansky CMSIS y Drivers para perifericos 10 / 32

Page 11: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

ActividadesConfiguracion de pines

Configuracion de pines. El PINMODE

Los registros PINMODEn nos permiten configurar elcomportamiento electrico de los pines. Siendo los posibles valores:

Tamben existe un registro PINMODE OD que permite configurar el

funcionamiento o no como Open Drain.

Alan Kharsansky CMSIS y Drivers para perifericos 11 / 32

Page 12: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

ActividadesConfiguracion de pines

Configuracion de pines. Ejemplo

Se puede encontrar en el manual de usuario del microcontroladoruna tabla que resumen los distintos campos para un registroPINSEL. Por ejemplo:

Alan Kharsansky CMSIS y Drivers para perifericos 12 / 32

Page 13: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

ActividadesConfiguracion de pines

Configuracion de pines. Uso

Para facilitar la configuracion de los distintos pines delmicrocontrolador se puede utilizar uno de los drivers que proveeNXP: lpc17xx pinsel.h. La funcion que vamos a utilizar tiene elsiguiente prototipo:

v o i d PINSEL Conf igPin ( PINSEL CFG Type ∗PinCfg ) ;

Alan Kharsansky CMSIS y Drivers para perifericos 13 / 32

Page 14: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

ActividadesConfiguracion de pines

Configuracion de pines. Uso

El tipo de dato que hay que pasarle es una estructura deconfiguracion. Esta esta compuesta por:

Portnum = PINSEL PORT x (x:0-3)

Pinnum = PINSEL PIN x (x:0-31)

Funcnum = PINSEL FUNC x (x:0-3)

Pinmode = Pullup, Pulldown o TriState

OpenDrain = Normal u Open Drain

Alan Kharsansky CMSIS y Drivers para perifericos 14 / 32

Page 15: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

ActividadesConfiguracion de pines

Configuracion de pines. Ejemplo

Si se desea configurar los pines 0 y 1 del Port 0 para que estenconectados a las lineas de Tx y Rx de la UART3, podemos hacer losiguiente:

PINSEL CFG Type PinCfg ;

PinCfg . Funcnum = PINSEL FUNC 2 ;PinCfg . OpenDrain = PINSEL PINMODE NORMAL ;PinCfg . Pinmode = PINSEL PINMODE PULLUP ;PinCfg . Pinnum = PINSEL PIN 0 ;PinCfg . Portnum = PINSEL PORT 0 ;

PINSEL Conf igPin (& PinCfg ) ;

PinCfg . Pinnum = PINSEL PIN 1 ;

PINSEL Conf igPin (& PinCfg ) ;

Alan Kharsansky CMSIS y Drivers para perifericos 15 / 32

Page 16: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Actividad Nro 1 - Consigna

Se desea hacer un programa que permita utilizar alguna de lasUARTs que trae el LPC1768. Para ello realizaremos un programaque:

Envie un mensaje de bienvenida al encender

Espere un caracter nuevo y lo repita por la salida (modoECHO)

Puede ver el ejercicio completo en el workspace de esta clase

Alan Kharsansky CMSIS y Drivers para perifericos 16 / 32

Page 17: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Actividad Nro 1 - Adicional

Se propone utilizar interrupciones para recibir los datos en vez dehacerlo en el programa principal. Para poder realizarlo se debenmodificar 2 cosas:

Activar la interrupcion tanto en el perif’erico como en el NVIC

Escribir un handler que reciba los datos y los reenvie

Alan Kharsansky CMSIS y Drivers para perifericos 17 / 32

Page 18: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Actividad Nro 1 - Adicional

Para poder activar la interrupcion usamos el siguiente codigo:

// Hab i l i t amos l a i n t e r r u p c i n de r e c e p c i n de l a UARTUART IntConf ig (LPC UART3 , UART INTCFG RBR , ENABLE ) ;

// Hab i l i t amos l a i n t e r r u p c i n de l a UART3 en e l NVICNVIC EnableIRQ ( UART3 IRQn ) ;

Alan Kharsansky CMSIS y Drivers para perifericos 18 / 32

Page 19: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Actividad Nro 1 - Adicional

El handler podrıa tener la siguiente forma:

v o i d UART3 IRQHandler ( v o i d ){

char c ;// Leo un dato nuevoc = UART ReceiveByte (LPC UART3 ) ;

// Env io e l dato l e i d oUART SendByte (LPC UART3 , c ) ;

}

Cuidado: El handler es llamado cuando ocurre alguna interrupcion en el

modulo de UART3 como por ejemplo, Tx buffer vacio, un nuevo dato para

leer, una linea de control cambio su valor, etc. ¿Por que en este caso no

debemos asegurarnos de donde vino la interrupcion?

Alan Kharsansky CMSIS y Drivers para perifericos 19 / 32

Page 20: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Actividad Nro 2 - UART con ADC

Se desea hacer un programa que permita enviar el valor de un canalanalogico por la UART (utilizando el ADC). Para eso debemos:

Configurar los pines para que use la funcion analogica

Configurar el conversor A/D

Tomar una muestra y enviarla

Alan Kharsansky CMSIS y Drivers para perifericos 20 / 32

Page 21: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Actividad Nro 2 - UART con ADC

Utilizaremos el trimpot que esta en el BaseBoard. El mismo estaconectado al pin GPIO0.23 que corresponde al canal analogicoAD0. Para encender la UART debemos utilizar el siguiente codigo:

ADC In i t (LPC ADC , 2 0 0 0 0 0 ) ;ADC IntConf ig (LPC ADC , ADC ADINTEN0 , DISABLE ) ;ADC ChannelCmd (LPC ADC , ADC CHANNEL 0 , ENABLE ) ;

Alan Kharsansky CMSIS y Drivers para perifericos 21 / 32

Page 22: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Actividad Nro 2 - UART con ADC

Para convertir un dato y luego leerlo debemos utilizar siguientecodigo:

// S t a r t c o n v e r s i o nADC StartCmd (LPC ADC , ADC START NOW ) ;

//Wait c o n v e r s i o n completew h i l e ( ! ( ADC ChannelGetStatus (LPC ADC , ADC CHANNEL 0 ,

ADC DATA DONE ) ) ) ;

// Read the v a l u ea d c v a l u e = ADC ChannelGetData (LPC ADC , ADC CHANNEL 0 ) ;

Alan Kharsansky CMSIS y Drivers para perifericos 22 / 32

Page 23: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Actividad Nro 3 - UART con Maquinas de Estado

Se desea hacer un programa que permita recibir datos por unaUART y dependiendo del estado en que se encuentre realizardiferentes acciones con los datos recibidos. Para ello se utilizara elsiguiente diagrama de estados:

Alan Kharsansky CMSIS y Drivers para perifericos 23 / 32

Page 24: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Diagrama de estados

Alan Kharsansky CMSIS y Drivers para perifericos 24 / 32

Page 25: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Diagrama de estados - MODO NORMAL

Este modo ”espıa” el ultimo caracter recibido que luego seinterpretan como comandos. Se definen los comandos:

1: Muestro todo lo que hay guardado en el buffer

2: Vacio el buffer

3: Cambio a modo ECHO

4: Cambio a modo ASCII

5: Cambio a modo CASE

Alan Kharsansky CMSIS y Drivers para perifericos 25 / 32

Page 26: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Diagrama de estados - MODO ECHO

En este modo todo lo que se recibe por Rx se repite por Tx

Para salir del modo se debe volver a enviar el numero 3

Alan Kharsansky CMSIS y Drivers para perifericos 26 / 32

Page 27: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Diagrama de estados - MODO ASCII

Los caracteres recibidos se mostran de la siguiente manera:

Si son no imprimibles (¡0x20) se muestra su nombre. Porejemplo: EOL

Si son imprimibles, se muestra su numero Hexa. Por ejemplo,si se recibe una ’a’ se debera enviar 0x61

Para salir del modo se debe volver a enviar el numero 4

Alan Kharsansky CMSIS y Drivers para perifericos 27 / 32

Page 28: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Diagrama de estados - MODO CASE

En este modo, todos los caracteres alfabeticos que se reciban porRx en minusculas se deben enviar por Tx en mayusculas y viceversa

Para salir del modo se debe volver a enviar el numero 5

Alan Kharsansky CMSIS y Drivers para perifericos 28 / 32

Page 29: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Consideraciones generales

La recepcion de datos se debe hacer de forma asincronica. Esdecir, manejada por interrupciones.

Como la rutina de interrupcion debera ser lo mas corta posible, losdatos se almacenaran en una buffer y luego seran procesados por elloop principal.

Alan Kharsansky CMSIS y Drivers para perifericos 29 / 32

Page 30: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Solucion a la actividad

i f ( c<0x20 ){UARTSendString ( a s c i i [ c ] ) ;

} e l s e {char b u f f [ 3 ] ;i n t T o S t r i n g ( ( i n t ) c , b u f f , 3 , 1 6 ) ;UARTSendString ( ”0 x ” ) ;UARTSendString ( b u f f ) ;UARTSendString ( ( ”\n\ r ” ) ;

}

i f ( ( c>=’ a ’ ) && ( c<=’ z ’ ) ){c = c+( ’A ’− ’ a ’ ) ;UART SendByte (LPC UART3 , c ) ;

} e l s e i f ( ( c>=’A ’ ) && ( c<=’Z ’ ) ){c = c−( ’A ’− ’ a ’ ) ;UART SendByte (LPC UART3 , c ) ;

}

Alan Kharsansky CMSIS y Drivers para perifericos 30 / 32

Page 31: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

¿Dudas? ¿Consultas?

Cualquier comentario o consulta lo pueden hacer a la lista delgrupo:

[email protected]

Alan Kharsansky CMSIS y Drivers para perifericos 31 / 32

Page 32: CMSIS y Drivers para perif ericos - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/curso_intensivo/practicas_laboratorio/... · void PINSEL ConfigPin (PINSEL CFG Type PinCfg );

CMSIS y DriversPerifericos del LPC1768

Actividades

Actividad Nro 1 - UART EchoActividad Nro 2 - UART con ADCActividad Nro 3 - UART con Maquinas de Estado

Muchas gracias

Alan Kharsansky CMSIS y Drivers para perifericos 32 / 32