You are on page 1of 2

1 CICLOS MIENTRAS CONTROLADOS CON BANDERAS O INTRRUPCIONES

El manejo de las interrupciones en un Controlador puede resultar complejo, sin


embargo, su implementacin se ve simplificada dado que el fabricante del
compilador usado provee un esquema basado en una funcin RSI.
(Rutina de Servicio de Interrupcin) genrica la cual puede ser fcilmente
modificada de acuerdo a los requerimientos del usuario.
Cuando alguna de la fuentes de interrupcin se activa, el programa en ejecucin
salta a la direccin 0x0004 (Vector de interrupcin), en esa direccin debe
encontrarse la RSI. Dado que como pueden ser distintas fuentes de interrupcin y
solo una funcin para atenderla, se debe recurrir al uso de los Interruptor Flag.
(Banderas de interrupcin), los cuales estn asociados a las distintas fuentes de
interrupcin.
Cada interrupcin para su adecuado funcionamiento, requiere una habilitacin y
un proceso de Configuracin en algunos casos. Para ello se usan los registros
OPTION_REG (en CC5x es el OPTION), INTCON,PIE1 y PIR1. Adicionalmente
PIE2 y PIR2 para otros perifricos.
Se debe incluir una biblioteca especial int16XXX.h, la cual permite el manejo de
las interrupciones. Dado que existen 3 fuentes de interrupciones se deben
configurar los bits de dichas fuentes como entrada.
La programacin se basa en lo siguiente, primero se configura en el mdulo
principal la fuente de interrupcin a utilizar. Una vez finalizado este proceso se
habilitan las interrupciones a travs de los flag correspondientes. El Controlador
proceder entonces a realizar las tareas habituales que no requieren de
interrupcin, habitualmente se usa un loop infinito mediante un ciclo while (1).
Cuando ocurre la interrupcin, se setea la bandera correspondiente a la fuente de
origen y el programa salta a la direccin 0x0004. En dicha direccin se encuentra
la RSI, dentro de dicha funcin se debe inicialmente salvar los registros actuales,
debe encuestarse el flag correspondiente a la fuente de interrupcin, dado que
est en 1, mediante un if es sencillo, sin embargo, despus de terminada la
atencin debe hacer un reset al flag, para permitir una nueva interrupcin. Al
terminar de ejecutar la RSI, esta restaura los registros y vuelve al programa
principal.
Cuando
al controlador le
llega un
pedido de
interrupcin
,lo atiende
inmediatamente poniendo
una
pausa en
la ejecucin
del programa que
est corriendo mientras ejecuta una funcin de interrupcin , denominada rutina de
servicios de interrupcin , una vez terminada la interrupcin el controlador vuelve
al lugar donde fue interrumpido y retoma la ejecucin.
Las interrupciones se pueden decidir donde y cuando ejecutarlas.
Las banderas indican si est permitido o no las interrupciones de los dispositivos.

Las banderas o interrupciones (flag) son unas variables lgicas que se utilizan
para conservar el estado ( VERDADERO O FALSO ) y toma el otro valor dentro
del cuerpo del ciclo para preparar la siguiente repeticin estos flag se representan
con variables lgicas y n los cuales se incidirn en uno de los valores ( verdadero
o falso ) y toma el otro valor cuando sucede el evento que se est
verificando mientras que en esta sentencia el nmero de veces que se hade
repetir algunas instrucciones no se conoce por anticipado y el interior de la
sentencia se repite mientras se cumple unas determinadas condiciones , por esta
razn estas sentencias se denominan ciclo o sentencia condicional ejecutando
una sentencia simple o compuesta de cero o ms veces, dependiendo del valor de
la expresin.

2. EN
QU CONSISTE
Y CULES SON
LAS DIFERENCIAS DE
LOS
CICLOS MIENTRAS Y HACER HASTA.
Estas son estructuras cclicas que se utilizan para ejecutar fragmentos de cdigo de un
nmero limitado de veces y son desde hasta (for), hacer mientras (while), y hacer hasta
(do while)
CICLO HACER MIENTRAS:
Es conocido en los lenguajes de programacin como ciclo while, una de sus
caractersticas es que verifica si la condicin se cumple antes de ingresar al bloque de
cdigo que se va a repetir, el limite d ejecuciones estar dada por la condicin, es
ejecutara mientras la condicin de vuelva un valor lgico verdadero.
Su composicin maraca el inicio del bloque de cdigo que se repetir en forma cclica.
Su condicin se refiere a una comparacin lgica que se evaluara en cada ejecucin
del ciclo, si esta operacin lgica entrega un resultado verdadero continua ejecutando el
bloque de cdigo, en caso contrario saldr del ciclo y continuara con la lnea de cdigo
que esta a continuacin del fin del mientras que indica el termino del bloque de cdigo
que se repetir en forma cclica.
CICLO HACER HASTA;
Esta estructura, que en los lenguajes de programacin de alto nivel es conocida como
dowhile, es similar a la estructura hacer mientras, pero tiene dos grandes diferencias.
1. El cdigo que se encuentra del ciclo hacer hasta se ejecuta por lo menos una vez,
debido a que la comparacin y verificacin de la condicin est en la parte inferior del
cdigo
2. Para continuar requiere que la condicin entregue un resultado lgico falso, adiferencia
del ciclo hacer mientras que requiere que el resultado de la condicin sea verdadero.
SU PRINCIPAL DIFERENCIA entre mientras y hacer hasta es que la operacin se ejecuta
la menos una vez. O sea la diferencia se encuentra en la forma en la cual limitan el
nmero de ocasiones que se ejecutara el cdigo.

You might also like