Download Compilador Ccs Para Microcontroladores Pic PDF

TitleCompilador Ccs Para Microcontroladores Pic
Tags Pointer (Computer Programming) Bit Compiler Pic Microcontroller
File Size2.0 MB
Total Pages64
Document Text Contents
Page 32

CURSO DE MICROCONTROLADORES PIC CON LENGUAJE C 

31 Ing. Gaudi Morantes

 Ejemplo:

 port_b_pullups(FALSE);

set_tris_a(value)

set_tris_b(value)

set_tris_c(value)

set_tris_d(value)

set_tris_e(value)

Estas funciones permiten escribir directamente los registros tri-estado para la

configuración de los puertos. Esto debe usarse con FAST_IO() y cuando se accede a

los puertos de I/O como si fueran memoria, igual que cuando se utiliza una directiva

#BYTE. Cada bit de value representa una patilla. Un '1' indica que la patilla es de

entrada y un '0' que es de salida.

 Ejemplo:

SET_TRIS_B( 0x0F ); // B0, B1, B2 y B3 como entradas; B4, B5, B6 y B7como

 salidas.

11.2. Funciones Para La Manipulación De Bits

bit_clear(var,bit)

Esta función simplemente borra (pone a '0') el dígito especificado en bit(0-7 o 0-15)

del byte o palabra aportado en var. El bit menos significativo es el 0.

Esta función es exactamente igual que: var & = ~(1 << bit);

 Ejemplo:

int x;

 x=5;

bit_clear(x,2); // x = 1

bit_set(var,bit)

Page 33

CURSO DE MICROCONTROLADORES PIC CON LENGUAJE C 

32 Ing. Gaudi Morantes

Esta función pone a '1' el dígito especificado en bit(0-7 o 0-15) del byte o palabra

aportado en var. El bit menos significativo es el 0.

Esta función es igual que: var | = (1 << bit);

 Ejemplo:

int x;

 x=5;

bit_set(x,3); // x = 13

bit_test(var,bit)

Esta función examina el dígito especificado en bit(0-7 o 0-15) del byte o palabra

aportado en var. Esta función es igual, aunque mucho más eficaz que esta otra forma:

((var & (1 << bit)) != 0)

 Ejemplo:

if( bit_test(x,3) || !bit_test (x,1) ){ 

 //o el bit 3 es 1 o el bit 1 es 0

 }

rotate_left(address, bytes)

Esta función rota a la izquierda un bit de un array o de una estructura. Nótese que la

rotación implica que el bit MSB pasa a ser el bit LSB. address puede ser un

identificador de un array o la dirección a un byte o a una estructura, por ejemplo,

&dato. bytes es el número de bytes implicados en la rotación.

 Ejemplo:

 x = 0x86;

rotate_left( &x, 1); // x tiene ahora 0x0d 

rotate_right(address, bytes)

Esta función rota a la derecha un bit de un array o de una estructura. Nótese que esta

rotación implica que el bit LSB pasa a ser el bit MSB. address puede ser un

Page 63

CURSO DE MICROCONTROLADORES PIC CON LENGUAJE C 

62 Ing. Gaudi Morantes

Calcula la longitud de la porción inicial mayor de s1, que consiste enteramente de

caracteres que no están en s2.

int strspn (char *s1, char *s2)

Calcula la longitud de la porción inicial mayor de s1, que consiste enteramente de

caracteres que están en s2.

int strlen (char *s)

Obtiene la longitud de s1 (excluyendo el carácter '\0').

char * strlwr (char *s)

Reemplaza mayúsculas con minúsculas y devuelve un puntero a s.

char * strpbrk (char *s1, char *s2)

Localiza la primera coincidencia de cualquier carácter de s2 en s1 y devuelve un

 puntero al carácter o s1 si s2 es una cadena vacía.

char * strstr (char *s1, char *s2)

Localiza la primera coincidencia de una secuencia de caracteres de s2 en s1 y

devuelve un puntero a la secuencia; devuelve null si s2 es una cadena vacía.

char * strtok (char *s1, char *s2)

Encuentra la próxima muestra en s1, delimitada por un carácter de separación de

cadena de s2 (que puede ser diferente de una llamada a la otra); devuelve un puntero

a él. La primera llamada inicia, al principio de S1, la búsqueda del primer carácter 

que no esté contenido en s2, y devuelve NULL si no lo encuentra. Si no se encuentra,

este es el inicio (punto de parida) del primer token (valor de retorno). La Función

entonces busca desde allí un carácter contenido en s2. Si no se encuentra, el token

actual se extiende hasta el extremo de s1, y las búsquedas siguientes de un token

Similer Documents