hola mis queridos amigos del foro, espero que alguien me pueda colaborar con tan particular hecho, estoy intentando enviar datos almacenados en una memoria EEPROM 24256 hacia el labview por medio del USB, haciendo uso del pic18f2550, la comunicación usb trabaja bien por aparte, la lectura y escritura de la EEPROM funciona excelentemente pero solo cuando esta enviando por la usart o cuando solo la visualizo con el monitor I2C del ISIS, pero apenas integro estos dos modulos (USB e I2C) para visualizar los datos en el labview, no funciona, no se que pasa, mi pregunta es si talvez hay algun tipo de restriccion al usar estos modulos al mismo tiempo....
adjunto el codigo,
#include <18F2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV2,VREGEN
#use delay(clock=48000000)
#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7,bits=8,parity=N)
#zero_ram
#define USB_HID_DEVICE FALSE
#define USB_EP1_TX_ENABLE USB_ENABLE_BULK
#define USB_EP1_RX_ENABLE USB_ENABLE_BULK
#define USB_EP1_TX_SIZE 3
#define USB_EP1_RX_SIZE 1
#include <pic18_usb.h>
#include <picusb.h>
#include <usb.c>
#include <24256.c>
#include <external_eeprom.c>
#define dato_0 recibe[0]
#define dato_1 recibe[1]
#define dato_2 recibe[2]
int8 recibe[3];
int8 envia[1];
void main(void) {
setup_comparator(NC_NC_NC_NC);
setup_adc(ADC_CLOCK_DIV_16);
setup_adc_ports(AN0|VSS_VDD);
init_ext_eeprom();
WRITE_EXT_EEPROM( 1, 5 );
usb_init();
usb_task();
usb_wait_for_enumeration();
while (TRUE)
{
if(usb_enumerated())
{
if (usb_kbhit(1))
{
usb_get_packet(1, recibe, 3);
//envia[0]= read_ext_eeprom(1);
usb_put_packet(1, envia, 1, USB_DTS_TOGGLE);
}
}
}
}
pd: perdonen si no puedo adjuntarlo como codigo pero no se como hacerlo.....