Ayuda con error al compilar proyecto ASF con Atmel Studio

Estoy trabajando con Atmel Studio y tratando de usar unos ejemplos para aprender a usar el puerto USB, pero tengo un problema al compilar

El código en "main.c" es el siguiente:

#include <asf.h>

my_vbus_action(b_vbus_high) {
if (b_vbus_high) {
// Connect USB device
udc_attach();
}else{
// Disconnect USB device
udc_detach();
}
}

int main (void)
{
// Initialize the clock service
sysclk_init();
// Authorize interrupts
irq_initialize_vectors();
cpu_irq_enable();
// Board initialization for, e.g., the I/O pins. Ver archivo init.c
board_init();
// Initialize the sleep manager service
sleepmgr_init();
// Enable USB Stack Device
udc_start();


// Authorize VBUS monitoring
if (!udc_include_vbus_monitoring()) {
// Implement custom VBUS monitoring via GPIO or other
}
else // VBUS interrupt or GPIO interrupt or other
{
// Attach USB Device
my_vbus_action (true);
}

// Insert application code here, after the board has been initialized.
while(1)
{
sleepmgr_enter_sleep(); // Opcional
//TODO:: Please write your application code
}

}
Dentro de "conf_usb.h" tengo configurado todo lo que debe ir por rigor y además he habilitado la siguiente linea.

#define UDC_VBUS_EVENT(b_vbus_high) my_vbus_action(b_vbus_high)
extern void my_vbus_action(bool b_vbus_high);
Mi problema son los siguientes mensajes y sinceramente no se qué me esta faltando declarar. Parece que tiene conflicto entre la variable Bool y una int, pero no se por, se supone según los ejemplos que solo debo agragar algunas lineas y eso es todo.

Warnings:
return type defaults to 'int'
conlicting types for 'my_vbus_action'
previous declaration of 'my_vbus_action' was here "conf_usb.h"
type of 'b_vbus_high' defaults to 'int'


Lo curioso de todo esto, que si le doy "Build Solution" luego de una primera compilación ya no da ningún error, pero si le doy "Rebuild Solution" es volver a empezar y da el error.

Podría ser que algo no lo lea bien en la primer compilación, me resulta bastante extraño ???

Si alguien me puede dar una mano, GRACIAS
 
Última edición:
creo que te hace falta adherir la librería "conf_usb.h" , por otra parte, my_vbus_action(b_vbus_high) no lo estas definiendo, es decir, debes hacer algo como lo siguiente:

void my_vbus_action(bool b_vbus_high);

ademas, creo que esta función ya se encuentra creada dentro de la librería "conf_usb.h", por tal razón, si la deseas utilizar solo tenes que llamarla, no crearla nuevamente en el código principal.

saludos.
 
Atrás
Arriba