Autor Tema: problema con EEPROM 24LC256 y USB  (Leído 1418 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado WOOD_girl

  • PIC12
  • **
  • Mensajes: 56
problema con EEPROM 24LC256 y USB
« en: 04 de Diciembre de 2009, 18:05:34 »
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,



Código: [Seleccionar]
#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.....
« Última modificación: 04 de Diciembre de 2009, 20:02:58 por un Moderador, Razón: Se corrigió el formato del código. »


 

anything