Anda di halaman 1dari 7

OBJETIVO:

Programar en la tarjeta Hercules mediante el uso de HALCoGen y Code Composer Studio el


corrimiento de 8 leds en todo el Puerto A o B.

CONFIGURACIN CON HALCoGen:

Primero iniciamos el programa y creamos un proyecto nuevo, nos aparecer una ventana como la
siguiente conde configuraremos las caractersticas de nuestro proyecto, En Family; seleccionaremos
la familia de nuestra tarjeta, en este caso la RM57Lx, En Device; seleccionaremos el dispositivo con
el que trabajaremos, que ser RM57L843ZWT, en Name; escribiremos el nombre de nuestro
proyecto, en Location; estableceremos la ruta en donde se crearan los archivos de nuestro
proyecto, (HALCoGen generara una carpeta llamada igual que nuestro proyecto, que contendr
todos los archivos), y para finalizar seleccionaremos OK para que lo genere.

Lo primero que veremos al generarse nuestro proyecto es la siguiente ventana, la cual nos muestra
en un principio el Diagrama a Bloques de nuestro microcontrolador. Y una serie de pestaas que
estaremos utilizando.
Seleccionaremos la subpestaa Driver Enable que est al lado de la pestaa General y de ella
primero deseleccionaremos todas la opciones que estn marcadas, no hay problema con dejarlas
marcadas, pero esto generara un mayor uso de espacio en la memoria de nuestro
microcontrolador, y no las estaramos usando, seleccionaremos los controladores de los perifericos
que utilizaremos, en nuestro caso Enable GIO driver Para poder utilizar los pines generales de
Enrada/Salida

Ahora iremos a la pestaa PINMUX de aqu seleccionaremos el perifrico GIO A y GIO B.


Iremos a la pestaa GIO, de ah la subpestaa PortA en donde para los pines Bit0 hasta Bit7
cambiaremos su direccin de datos a Salida, para el PortB no cambiaremos nada ya que los pines
en los que se encuentran conectados los botones de usuario ya se encuentran como entrada.

Para finalizar Presionamos F5 y se generaran los archivos de las configuraciones que hemos
realizado (se observan en el Device Explorer del lado derecho).
PROGRAMACIN CON CCS (Code Composer Studio):

Abrimos el CCS y creamos un nuevo proyecto CCS, en la ventana que nos aparece seleccionamos la
tarjeta como Unclassified Devices, y en Dispositivo RM57L8xx, en Conexin Texas Instruments
XDS110 USB Debug Probe, El nombre del proyecto debe ser el mismo usado en HALCoGen, y en
Ubicacin debemos seleccionar la carpeta que genero HALCoGen, por ultimo Seleccionamos Empty
Project.

Una vez generado el proyecto iremos al Explorador de proyectos del lado izquierdo y sobre nuestro
proyecto daremos click derecho y seleccionaremos la opcin Properties, en la ventana que
aparece seleccionaremos Buid / ARM Compiler / Iinclude Options y aadiremos un directorio dando
click en el icono de Una hojita con un smbolo de ms en color verde.
En la nueva ventana seleccionaremos Workspace y del explorador de rbol seleccionaremos de
la carpeta de nuestro proyecto la carpeta include y aceptaremos todas las ventanas que se hallan
abierto hasta ahora.

Ahora expandiremos nuestro proyecto y en la carpeta include se encontraran los archivos con
extensin .h mientras que en source los que tienen extensin .c

Para finalizar configuraremos el archivo principal HL_sys_main.c agregaremos el siguiente cdigo en


el cual Incluimos las libreras a utilizar (0), se declara la funcin del retardo (2) y el programa principal
que hace el corrimiento de utilizando ciclos FOR y un Swich Case (3), y la Funcin Retardo (4).
/* USER CODE BEGIN (0) */
#include "HL_gio.h"
#include "HL_sci.h"
#include "stdio.h"
#include "string.h"
/* USER CODE END */

/* USER CODE BEGIN (2) */


void Retardo(void);
/* USER CODE END */

/* USER CODE BEGIN (3) */


gioInit();
sciInit();

int k, b=0, opcion=0;


while(1){

b = gioGetBit(gioPORTB, 4); // Revisa si se presiona el boton


Retardo();
if (b==0) {

opcion=opcion+1;
b=0;
}
switch (opcion){

case 1:

for (k=0; k<8; k++){


// Corrimiento hacia la derecha

gioSetBit(gioPORTA, k, 1);
Retardo();
gioSetBit(gioPORTA, k, 0);
}

break;

case 2:

for (k=7; k>=0; k--){


// Corrimiento hacia la izquierda

gioSetBit(gioPORTA, k, 1);
Retardo();
gioSetBit(gioPORTA, k, 0);

break;

// case 3:

// break;

default:
//Regresa la variable a 0

opcion = 0;

break;
}

sciSendByte(sciREG1,'d');
Retardo();
}

/* USER CODE END */

/* USER CODE BEGIN (4) */


void Retardo(void){
int i,j;
for(i=0; i<3000; i++)
for(j=0; j<3000; j++);
}
/* USER CODE END */

Para cargar el programa a la tarjeta basta con conectarla y presionar el botn de debug o la tecla
F11.
CONCLUSIONES:

Se comprendi de una forma ms clara el proceso do programacin de la tarjeta Hercules, as como


el uso de los programas HALCoGen y Code Composer Studio, las habilidades aprendidas sirven como
el inicio para poder desarrollar aplicaciones futuras.

Anda mungkin juga menyukai