Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lenguaje de Programacin C
Envo y lectura de datos de un puerto de E/S. Operaciones a nivel de bits (mscaras). Manejo de Interrupciones.
Dada una secuencia de bits, a veces, es necesario leer o modificar el valor de un bit en concreto (o varios bits). Para esta tarea, se utilizan operaciones lgicas adecuadas que toman como primer operando la secuencia de bits y como segundo una secuencia predeterminada, denominada mscara.
Ejemplos de mscara
Ejemplo 1. Dada una secuencia de 4 bits, forzar el 1er bit a cero, dejando el resto sin modificar. Ejemplo 2. Dada una secuencia de 4 bits, forzar el 2 bit a uno, dejando el resto sin modificar.
b3 b2 b1 b0 (OR) 0 0 1 0 (mscara) b3 b2 1 b0
Para leer el valor de un bit en concreto, se puede usar la operacin AND y una mscara con todos sus bits a 0, excepto el bit que ocupa la posicion que quiero leer.
Para leer el valor de un bit en concreto, se puede usar la operacin OR y una mscara con todos sus bits a 1, excepto el bit que ocupa la posicion que quiero leer.
// Paso 1
void main (void){ setvect (num_vector, rutina_interrupcion); // Paso 2 // en este punto se activa la lnea de interrupcin. Paso 3
// Paso 4
3. Manejo de Interrupciones
3. Manejo de Interrupciones
// Paso 6
nueva_isr(){ . original_isr();
Num_vector
*nueva_isr
.. } original_isr(){
. }
3. Manejo de Interrupciones