Autor Tema: Llamadas de función USB  (Leído 2062 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado jorgejg

  • PIC12
  • **
  • Mensajes: 96
Llamadas de función USB
« en: 02 de Septiembre de 2011, 14:46:56 »
Estoy implementando la comunicación CDC en C18 siguiendo algunas pautas del "MCHPFSUSB Library Help.chm" hay una secuencia que estoy usando:

void main(void)
{
    USBDeviceInit()
    while(1)
    {
        USBDeviceTasks();
        if((USBGetDeviceState() < CONFIGURED_STATE) ||
           (USBIsDeviceSuspended() == TRUE))
        {
            //Either the device is not configured or we are suspended
            //  so we don't want to do execute any application code
            continue;   //go back to the top of the while loop
        }
        else
        {
            //Otherwise we are free to run user application code.
            UserApplication();
        }
    }
}

pero me sale error: "llamada de función sin prototipo" en la linea:
if((USBGetDeviceState() < CONFIGURED_STATE)   || (USBIsDeviceSuspended() == TRUE))


debe ser que no está declarado, pero como lo declaro y donde?

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Llamadas de función USB
« Respuesta #1 en: 02 de Septiembre de 2011, 14:50:52 »
Creaste correctamente el proyecto? Los path adecuados?
No contesto mensajes privados, las consultas en el foro

Desconectado jorgejg

  • PIC12
  • **
  • Mensajes: 96
Re: Llamadas de función USB
« Respuesta #2 en: 02 de Septiembre de 2011, 15:39:55 »
Adjunto el arbol del proyecto.
En Built options/project apunto el include a la misma carpeta donde estoy trabajando y tambien a C:\MCC18\h y el linker apunto a la carpeta de trabajo porque uso el bootloader y ahi tengo el *.lkr que uso.

Aparte tambien tengo el siguiente error:
Error - could not find definition of symbol 'USBIsDeviceSuspended' in file 'Objetos\main.o'.
« Última modificación: 02 de Septiembre de 2011, 15:47:11 por jorgejg »

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Llamadas de función USB
« Respuesta #3 en: 02 de Septiembre de 2011, 17:03:28 »
Y los archivos *.c/*.h donde los tienes? Dentro de la carpeta del proyecto o dentro de la carpeta microchip, o como?
No contesto mensajes privados, las consultas en el foro

Desconectado jorgejg

  • PIC12
  • **
  • Mensajes: 96
Re: Llamadas de función USB
« Respuesta #4 en: 02 de Septiembre de 2011, 19:34:36 »
En E:\C18\Pruebas\CDC1 tengo:
main.c
Tareas.c
usb_descriptors.c
HardwareProfile.h
usb_config.h
rm18f4550 - 800 Bootload.lkr
CDC1.mcp
CDC1.mcw

En E:\C18\Pruebas\CDC1\USB tengo:
usb_device.c
usb_function_cdc.c
Compiler.h
GenericTypeDefs.h
usb.h
usb_ch9.h
usb_common.h
usb_device.h
usb_function_cdc.h
usb_hal.h
usb_hal_pic18.h

Output Directory: E:\C18\Pruebas\CDC1\Hex
Intermediary Directory: E:\C18\Pruebas\CDC1\Hex
Include Search Path: E:\C18\Pruebas\CDC1\USB y C:\MCC18\h
Library Search Path: C:\MCC18\lib
Linker-Script Search Path: C:\MCC18\bin\LKR y E:\C18\Pruebas\CDC1

A mi mas me parece que estas funciones que estoy llamando no se encuentran definidas en niguno de los archivos *.h ni *.c que estoy usando, incluso me he metido en cada uno de ellos y no se encuentran dichas funciones que quiero llamar. Estoy usando un PIC18F4550 y lo tengo definido en Select Device.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Llamadas de función USB
« Respuesta #5 en: 02 de Septiembre de 2011, 20:37:51 »
En Include Search Path proba colocando:

Código: [Seleccionar]
C:\MCC18\h
.\USB
.
..


En Linker-Script Search Path, nada.

Sino adjunta el proyecto.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado jorgejg

  • PIC12
  • **
  • Mensajes: 96
Re: Llamadas de función USB
« Respuesta #6 en: 05 de Septiembre de 2011, 11:55:25 »
He intentado todo pero nada. Adjunto el proyecto y gracias por el apoyo.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Llamadas de función USB
« Respuesta #7 en: 05 de Septiembre de 2011, 13:12:54 »
Adjunto proyecto. Re organice las carpetas ya que los archivos fuente llaman a las otros archivos en base a esa organización.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado jorgejg

  • PIC12
  • **
  • Mensajes: 96
Re: Llamadas de función USB
« Respuesta #8 en: 05 de Septiembre de 2011, 13:48:06 »
Gracias maestro ahora si compila, no solo la distrubución de las carpetas estaba mal sino el contenido de los archivos *.c y *.h parece que las tenia desactualizado por eso que escribia una función y el compilador no encontraba la definición de dichas funciones. Gracias por tu paciencia, continuaré batallando con el CDC ojalá todo vaya bien para no tener que incomodar por aqui. Saludos.


 

anything