Leer estado del pin de un pic por usb

Hola a todos, tengo un problema y agradeceria que me ayudaran a solucionarlo, resulta que estoy realizando un proyecto basandome en los ejemplos planteados acontinuacion

Tengo todos los codigos y funcionan muy bien, puedo controlar leds, motores y cosas por el estilo desde mi aplicacion en netbeans:

En los anteriores ejemplo se plantea lo siguien

Desde Netbans:

public byte prender=125;
comando(prender);


public void comando(byte envio){
byte[] out={envio};
iface.QWrite(out, 1, 1000);
}

En el archivo:
PrenderYApagar.c
Antes de compilar y pasar el codigo al pic(Hex) Tengo algo como lo siguiente

void main(void) {
delay_ms(500);
usb_init();
usb_task();
usb_wait_for_enumeration();
enable_interrupts(global);
while (TRUE){
if(usb_enumerated()){
if (usb_kbhit(1)){
usb_get_packet(1, recbuf, Lenbuf);

if(recbuf[0]==127){
output_high(PIN_B0);
}
}

Osea que cuando yo preciono un boton en netbeans y se ejecuta este envia datos al pic en este caso seria el dato 127 hecho esto yo puedo colocar condiciones y controlar las salidas de diferentes pines del pic en este caso pongo a trabajar el pin_Bo y por consiguiente me prende un motor.

Ahora biene la pregunta, me gustaria hacer lo contrario, osea detectar si un pin fue desconectado o esta funcionando, digamos que tengo el pin A1 conectado a un Switch y quiero saber cuando esta en on o en off desde netbeans.


algo como lo siguiente

En el archivo:
PrenderYApagar.c

Aqui es donde no se como leer el dato del pin
Ej: leer
si pin_a1==0 //es porque esta desconectado o en off
si pin_a2==1 //es porque esta conectado y funcionando

En netbeans:

public byte[] read_response(int maxbytes) {
return iface.QRead(maxbytes, 500);
}
aqui se supone que recibo el dato


Como ven me resulta dificil leer los pines: De ante mano muchas gracias....
 
Atrás
Arriba