Error: PIN_B0 no declarado en XC16

1

Estoy intentando escribir algún código para un PIC24FJ64GB002 con X16. No soy un desarrollador de software, por lo tanto soy un "noob" aquí.

Estoy tratando de hacer que RB0 (pin 4) quede bajo en un evento usando el código:

        if(joyd.x_axis < 127)
        {output_low(PIN_B0);} else{output_high(PIN_B0);} //if LEFT pressed

Esto da una advertencia:

declaración implícita de la función 'output_low'

y un error:

error: 'PIN_B0' no declarado (primer uso en esta función)

He estado buscando en Google toda la mañana en vano. ¿Alguien puede indicarme la dirección correcta para resolver estos dos problemas, por favor?

    
pregunta

1 respuesta

1

La advertencia de declaración implícita para output_low significa que el compilador de C no puede encontrar una definición de función para output_low : o no escribió el código para ello o no escribió #include en algún externo código / macro / biblioteca para definir qué es realmente esa función.

El error para PIN_B0 es similar: el compilador de C no sabe qué es PIN_B0 . Es decir, no es una variable o un #define en cualquier parte de tu programa.

Para XC16, los SFR y los puertos se definen en encabezados específicos del dispositivo, que se encuentran en la carpeta \ support en la familia de dispositivos específica (PIC24, dsPIC33, etc.) - vea \ support \ PIC24F \ h \ p24fj64gb002.h para su parte específica.

Necesitará #include <xc.h> para que esas definiciones se vean bien en su área de trabajo, después de lo cual puede usar TRISBbits.TRISB0 para configurar el modo (entrada o salida), PORTBbits.RB0 para leer desde la línea y LATBbits.LATB0 para escribir en la línea.

    
respondido por el Adam Lawrence

Lea otras preguntas en las etiquetas