#byte port_a=0x05
#bit port_a0=0x05.0
#bit port_a1=0x05.1
#bit port_a2=0x05.2
#bit port_a3=0x05.3
#bit port_a4=0x05.4
#bit port_a5=0x05.5
hasta ahi todo bienHola excalibur1491, lo que contiene PIN_A0 o cualquiera otro, es una constante con la dirección del bit del pin. Fijate en la definición de pines en el archivo .h Por ejemplo (de la ayuda del CCS), el puerto A (byte 5) bit 0 debe tener un valor de 5*8+0 o 40. Las instrucciones como output_high() o cualquiera similar que son instrucciones internas del CCS, necesitan usar la dirección del bit del pin.
Saludos!
Suky, no entendi ná! xDD esq lo de las estructuras no es lo mio, nun calas he usado xD
Hola excalibur1491, lo que contiene PIN_A0 o cualquiera otro, es una constante con la dirección del bit del pin. Fijate en la definición de pines en el archivo .h Por ejemplo (de la ayuda del CCS), el puerto A (byte 5) bit 0 debe tener un valor de 5*8+0 o 40. Las instrucciones como output_high() o cualquiera similar que son instrucciones internas del CCS, necesitan usar la dirección del bit del pin.
Saludos!
aaah, muchas racias.. habia leido el header y habia visto las defniciones de PIN_A0 etc y no habia entendido,
gracias!!
sin embargo, algo me amarga:los que usamos ccs, usamos output_high para modificar un bit del byte del puerto... pero si no usas ccs, como lo haces?? teienes q escribir un equivalente a la funcion output_high a mano???
Suky, no entendi ná! xDD esq lo de las estructuras no es lo mio, nun calas he usado xD
Código: C
union{ int1 Port[8]; struct{ unsigned pin_0:1; unsigned pin_1:1; unsigned pin_2:1; unsigned pin_3:1; unsigned pin_4:1; unsigned pin_5:1; unsigned pin_6:1; unsigned pin_7:1; }; }Puerto; #byte Puerto=0x06 void main(){ Puerto.Port[0]=1; Puerto.pin_4=0;; while(1); }
Si mal no recuerdo, el número puesto después de los 2 puntos ( : ) indica cuantos bits ocupa esa variable dentro de la estructura.
Ahora agrupar pines de distintos puertos en una estructura no lo veo posible :?
struct new_port {
int1 pin0;
int1 pin1;
int1 pin2;
int1 pin3;
int1 pin4;
int1 pin5;
int1 pin6;
int1 pin7;
} port_F;