domingo, 17 de septiembre de 2017

CURSO PIC: GESTION DE PUERTOS EN C A TRAVES DE DIRECTIVAS


Se tienen las funciones en el compilador:
Output_X(valor);            //un valor de 0 a 255 (debido a que son 8 bits)
Input_X(valor);               //para obtener el valor de un puerto
Set_tris_X(valor);           //para colocar un valor de 0 a 255 en el registro TRIS
Port_b_pullups(valor);   //valor=TRUE o valor =FALSE habilitaran o deshabilitaran pull up
Get_trisX()                       //obtener el valor del registro TRISx


El simbolo X debe remplazarse por el puerto que usaremos A, B, C, D, E

Ejemplo:
Output_B(0xFF) //se coloca 11111111 en el puerto B

Los pins se pueden definir con el fichero include: PIN_Xn
#define PIN_A0 40
 Las funciones son:
Output_low(pin*);        //pin a 0
Output_high(pin*);       //pin a 1
Output_bit(pin*,valor) //pin al valor especificado
Output_toggle(pin*);    //complementa el valor del pin}
Output_float(pin*);      //pin de entrada, quedando a tensión flotante
                                        //simula salida en drenador abierto
Input_state(pin*);         //lee el valor del pin sin cambiar el sentido del terminal
Input(pin*);                   //lee el valor del pin



Las funciones output_x() e input_x() dependen de la directiva tipo #USE*_IO que este activada

#USE FAST_IO(PUERTO)       
Se necesita declarar si el puerto es entrada o salida mediante el regisro TRIS y luego se maneja los puertos 
mediante Output_X() e Input_X()

Para el ejemplo se lee el pin B0, si es 1 la salida del pin B1 sera 0 en caso contrario sera 1

 

#USE STANDARD_IO (PUERTO)  
No se necesita declara si un puerto es entrada o salida. Cuando usemos Output_x() sera salida y si usamos input_x() sera entrada  automaticamente.




#USE FIXED_IO (PUERTO_OUTPUTS=pin*,…)   
Solo se declararan los pins de salida en forma de directiva
 
 

No hay comentarios:

CURSO PIC: GESTION DE PUERTOS USANDO PUNTEROS

Se puede acceder a la memoria de datos usando punteros, los cuales se definen como int. #define TRISA(int*) 0x85 #define PORTA(int*...