Saludos. ¿Que tal dinoelectro?
Por favor. ¿Podrías echarme una mano con un inconveniente, el cual describo a continuación?:
Estoy desarrollando un proyecto con comunicación USB, para ello estoy empleando el PIC18F2550 que es el encargado de recibir y enviar datos desde y hacia la PC por medio del bus USB clase CDC, cuento con una tarjeta de proceso en la cual dispongo de un XMEGA de ATMEL el mismo que recibe y envía datos desde y hacia el PIC18F2550 por medio de comunicación serial RS-232, en la transmisión de datos en el sentido PC->PIC18F2550->XMEGA no tengo inconvenientes, el problema surge cuando quiero enviar los datos resultados del proceso en el sentido XMEGA->PIC18F2550->PC, ya que en el PIC he intentado recibir los datos por medio de la interrupción INT_RDA(Interrupción del puerto USART); pero dicha interrupción no se produce ya que al compilar el programa del PIC los warnings indican que las interrupciones se encuentran deshabilitadas, también he intentado recibir los datos de la comunicación serial sin utilizar la interrupción es decir directamente en la función MAIN() con la instrucción FGETS(DATOS) pero ocurre que se pierde la comunicación USB y el programa se queda como estancado en alguna de las librerías incluidas, porque no se ejecuta ni esta instrucción FGETS(DATOS).
He probado por separado la comunicación USB PIC18F2550<->PC y la comunicación XMEGA<->PIC18F2550 y funciona de maravilla.
Compilador: PCWHD Lenguaje: CCS
Librerías incluidas:
#INCLUDE <PIC18_USB.H>
#INCLUDE <USB.C>
Warnings al compilar el programa del PIC:
Interrupts disabled during call to prevent re-entrancy: (usb_token_reset)
Interrupts disabled during call to prevent re-entrancy: (usb_flush_out)
Interrupts disabled during call to prevent re-entrancy: (usb_flush_in)
Puede ser que el USB CDC al crear un Puerto serie virtual, ello puede estar interfiriendo en la comunicación serial.
Por favor, si me pueden echar una mano con este asunto.
De antemano muchas gracias.
Te lo agradeceré mucho.
Atentamente: Orlando. EL SHABRI.