Pon el código, así te podremos guiar mejor
Gracias por responder.
#include <18F4550.h> //PIC
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000) //Frecuencia del cristal oscilador externo
#USE fast_IO (B)
#define USB_CON_SENSE_PIN PIN_B0 //Pin de detección conexión-desconexión dispositivo USB
#include <usb_cdc.h>//Librería de control USB
#byte TRISD = 0xf95
#byte PORTD = 0xf83
int PuertoD;
lectura_Leds() {
TRISD=0x00;
PuertoD= PORTD;
printf(usb_cdc_putc, "\%x", PuertoD);
}
void encender_manual(){
set_tris_b(0b00000010);
while(TRUE)
{
if (input(PIN_B1)==1)
{
output_high(PIN_D0);
}else if(input(PIN_B1)==0)
{
output_low(PIN_D0);
}
}
}
void encender_remoto(){
BYTE value;
SET_TRIS_D(0x00);
OUTPUT_D(0);
while(TRUE)
{
value = gethex_usb();
switch(value)
{
case 0x01: output_high(PIN_D0);
break;
case 0x02: output_low(PIN_D0);
break;
case 0x03: output_high(PIN_D1);
break;
case 0x04: output_low(PIN_D1);
break;
case 0x05: output_high(PIN_D2);
break;
case 0x06: output_low(PIN_D2);
break;
case 0x07: output_high(PIN_D3);
break;
case 0x08: output_low(PIN_D3);
break;
case 0x09: output_high(PIN_D4);
break;
case 0x10: output_low(PIN_D4);
break;
case 0x11: output_high(PIN_D5);
break;
case 0x12: output_low(PIN_D5);
break;
case 0x13: output_high(PIN_D6);
break;
case 0x14: output_low(PIN_D6);
break;
case 0x15: output_high(PIN_D7);
break;
case 0x16: output_low(PIN_D7);
break;
case 0x18: lectura_Leds();
break;
}
}
}
void main() {
usb_cdc_init();
usb_init();
delay_ms(300);
for(;
{
encender_manual();
encender_remoto();
}
}
En este codigo solo estoy manejando manualmente un led (en el pinD0)es solo de prueba....