Autor Tema: USB PIC18F2550  (Leído 2369 veces)

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

Desconectado medidort

  • PIC10
  • *
  • Mensajes: 17
USB PIC18F2550
« en: 18 de Marzo de 2012, 17:03:12 »
Hola.
Hace varios dias que estoy trancado con el puerto USB.
Estoy tratando de usar la Microchip PIC18 USB CDC Framework.
Al momento tengo el siguiente problema envio bien pero recibo mal.
Programé un echo para enviar al pic y recibir en la hyperterminal. El problema que tengo es que una vez que envio el dato desde la hyperterminal el pic se queda recibiendo el ultimo caracter apretado hasta que toco otro. Despues se queda recibiendo el ultimo y asi sucesivamente.

Mi main es el siguiente:

void main(void){   
   unsigned char dataReceived;
    unsigned char data[2];
    unsigned char *pData = &data; // pointer to "data"   

    InitializeSystem();

    while(1){

      USBDeviceTasks();
       if((USBGetDeviceState() \< CONFIGURED_STATE) || (USBIsDeviceSuspended() == TRUE)){
 
                continue;   
        }else{
               
                CDCTxService();
       
            //Run application code.
         
            dataReceived = getsUSBUSART(pData, 1); // Read one byte from buffer      
               if(dataReceived > 0){ // if new data received
                   if(USBUSARTIsTxTrfReady()){
                       mUSBUSARTTxRam(pData, 1); // echo back data
                       dataReceived = 0;
                   }
              }
            

               
        }
    }
 
}


También intente usando el CCS con el siguiente codigo,



void main() {

   usb_cdc_init();
   usb_init();
   
   while (!usb_cdc_connected()) {}
   while (true)
   {
      usb_task();
      if(usb_enumerated())         
      {
         if (usb_cdc_kbhit())         
         {           
            c = usb_cdc_getc();
            putc(c);
         }         
         if (kbhit())       
         {
            d=getc();
            usb_cdc_putc(d);
         }
      }
   }   
}

Alguien me puede ayudar?

Gracias

Desconectado amyver

  • PIC12
  • **
  • Mensajes: 75
Re: USB PIC18F2550
« Respuesta #1 en: 26 de Marzo de 2012, 10:26:45 »
Hola medidort, tengo una duda sobre tu programa...

veo en tu programa que esperas recibir un caracter via USB-cdc (emulando un puerto COM como usb), pero que software usas para enviarle dicho caracter???? el hiperterminal configurado con el puerto virtual??

Y luego intentas enviar el caracter recibido por el interface USART por los puertos COM fisicos??? y vuelve la pregunta... configuras OTRO hiperterminal con un puerto fisico????

Estube revizando tu rutina para la comunicacion USB-CDC y es igual a la que yo uso habitualmente, asi que por ahi no creo que este el error..
a menos que tus VID y PID de las librerias que incluyes en tu programa no concuerden con las de tu driver...

Saludos..

Desconectado medidort

  • PIC10
  • *
  • Mensajes: 17
Re: USB PIC18F2550
« Respuesta #2 en: 11 de Abril de 2012, 13:42:23 »
Hola.
Gracias por tu tiempo y la respuesta. Te cuento que estoy utilizando la hiperterminal para poder enviar y recibir.
Sobre el VID y PID estoy dejando el que viene con microchip pero no me esta funcionando.
Ahora estoy tratando de usar el pic18F14K50 y el codigo que viene en el LAB 4 del Low Pin Count USB Development Kit User’s Guide.
Lamentablemente sigo sin poder establecer una conexion USB entre el PIC y la PC.
El codigo es bastante distinto al que postie, no se por que. Usa otras funciones. No se que tocar pues se supone que el ejemplo funciona (a mi no me funciona).
Hasta ahora no he podido articular el pdf Migrating Applications to USB from RS-232 UART with Minimal Impact on PC Software con el pdf MPLAB® C18 C COMPILER LIBRARIES y el Low Pin Count USB Development Kit User’s Guide. Parecen 3 cosas distintas de la misma cosa.
Desde ya gracias.
Adrian

Desconectado amyver

  • PIC12
  • **
  • Mensajes: 75
Re: USB PIC18F2550
« Respuesta #3 en: 11 de Abril de 2012, 15:47:44 »
Bueno pues si todo ha fallado, no queda mas que empezar de nuevo  :mrgreen: :mrgreen: :mrgreen:

te recomiendo la pagina del maestro RedPic es muy buena para comenzar con esto del usb...

http://picmania.garcia-cuervo.net/usb_0_desencadenado.php

Espero te ayude.

saludos..

Desconectado amyver

  • PIC12
  • **
  • Mensajes: 75
Re: USB PIC18F2550
« Respuesta #4 en: 11 de Abril de 2012, 15:49:25 »
Ah lo olvidaba, en los ejemplos que estan en la pagina usa el PIC18F4550, pero todas las funciones pueden ser usadas por el PIC18F2550

saludos...

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: USB PIC18F2550
« Respuesta #5 en: 11 de Abril de 2012, 21:58:15 »
Aqui esta muy tratado el tema del USB 2.0 Device: http://www.todopic.com.ar/foros/index.php?topic=2260.0
Yo empeze por ahi  :mrgreen: