El mikroC PRO para PIC le permite acceder a bits individuales de variables de 8 bits. También es
compatible con los tipos de datos sbit y bit .
Permite usar el Bit de interrupción global (GIE) como ejemplo. Este bit se define en el archivo de
definición de la MCU particular como:
Para acceder a este bit en su código por su nombre, puede escribir algo como esto:
De esta manera, si el bit GIE cambia su posición en el registro, está seguro de que el bit apropiado se
verá afectado.
Pero, si el bit GIE no se encuentra en el registro designado, puede obtener errores.
Otra forma de acceder a los bits es utilizando el selector de miembro directo ( . ) Con una variable,
seguido de uno de los identificadores B0 , B1 , ..., B7 o F0 , F1 , ... F7 , siendo F7 el bit más significativo,
para acceder el bit deseado:
De esta manera, si el bit de destino cambia su posición en el registro, no puede estar seguro de que está
invocando el bit apropiado.
Este tipo de acceso selectivo es una característica intrínseca de mikroC PRO para PIC y se puede utilizar
en cualquier parte del código. Los identificadores B0 - B7 no distinguen entre mayúsculas y minúsculas y
tienen un espacio de nombres específico.
Puede anularlos con sus propios miembros B0 - B7 dentro de cualquier estructura dada.
Cuando use constantes literales como designadores de bits en lugar de predefinidos, asegúrese de no
exceder el tamaño de tipo apropiado.
Además, puede acceder al bit deseado utilizando su nombre de alias, en este caso GIE_bit :
De esta manera, si el bit GIE cambia su registro o posición en el registro, está seguro de que el bit
apropiado se verá afectado.
Nota: si apunta a la portabilidad, evite este estilo de acceso a bits individuales, use los campos de
bits en su lugar.
Consulte Globos y constantes predefinidos para obtener más información sobre los nombres de registro /
bit.
tipo sbit
El compilador sbit PRO for PIC tiene sbit tipo de datos sbit que proporciona acceso a registros, SFR,
variables, etc.
Puede declarar una variable sbit en una unidad de tal manera que apunte a un bit específico en el
registro SFR:
extern sfr sbit Abit; // Abit se define con precisión en algún archivo externo, por ejemplo,
en la unidad de programa principal
En el programa principal, debe especificar a qué registro apunta este bit de bit, por ejemplo:
En caso de que queramos declarar un poco sobre una variable que no está definida como sfr , entonces la
palabra clave sfr no es necesaria, por ejemplo:
extern sbit AnotherBit; // AnotherBit se define con precisión en algún archivo externo, por
ejemplo, en la unidad de programa principal
char MyVar;
sbit AnotherBit en MyVar.B0; // aquí es donde AnotherBit está completamente definido
...
void main () {
...
}
en palabra clave
Puede usar la palabra clave "at" para hacer un alias a una variable, por ejemplo, puede escribir una
biblioteca sin usar nombres de registro, y más adelante en el programa principal para definir esos
registros, por ejemplo:
Nota: Tenga en cuenta que cuando use el operador at en su código sobre una variable definida a
través de un modificador extern , también se debe agregar el especificador de memoria correspondiente.
tipo de bit
El compilador mikroC PRO for PIC proporciona un tipo de datos de bit que se puede usar para
declaraciones de variables. No se puede utilizar para listas de argumentos y valores de retorno de función.
Nota :
Las variables de bit no se pueden inicializar.
Las variables de bit no pueden ser miembros de estructuras y uniones.
Las variables de bit no tienen direcciones, por lo tanto, el operador unario & (dirección de) no
es aplicable a estas variables.