pic16f628a error interno de configuración del oscilador símbolo no definido “INTOSC”

1

Quiero configurar el oscilador interno para pic16f628a, de acuerdo con hoja de datos página 96 , tengo para establecer FOSC_INTOSC , pero recibo este error main.c:11: error: undefined symbol "FOSC_INTOSC"

si configuro la otra opción FOSC_HS o FOSC_LP o FOSC_XT funciona bien (sin error)

pero no funciona con FOSC_RC y FOSC_INTOSC . no es porque para FOSC_RC y FOSC_INTOSC , hay dos valores posibles para ambos (página 96 hoja de datos) ?????

código:

#include<htc.h>
#include <pic.h>
#include <pic16f628a.h>
// Config word
__CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_ON & CP_OFF);

// Define LED pin
#define LED  RA0

// Define CPU Frequency
// This must be defined, if __delay_ms() or
// __delay_us() functions are used in the code
#define OSC 4
// Main function
void main()
{   
        TRISA0 = 1;                // Make RA0 pin output
        TRISB = 1;
        LED    = 0;                // Make RA0 low
    while(1)
    {
        LED = 0;               // LED off
        LED = 1;               // LED on
    }
}
    
pregunta Makhlouf GHARBI

1 respuesta

2

Encuentre el archivo #include apropiado que su compilador está usando para el chip en particular que está usando y mírelo. Esa es la única manera de estar 100% seguro de lo que (se supone que debe estar) sucediendo.

Por ejemplo, aquí hay un fragmento de un archivo de inclusión de HTC pic16f628a.h:

// INTOSC oscillator: CLKOUT function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OS/CLKIN
#define FOSC_INTOSCCLK       0xFFFD
// INTOSC oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN
#define FOSC_INTOSCIO        0xFFFC
// EC: I/O function on RA6/OSC2/CLKOUT pin, CLKIN on RA7/OSC1/CLKIN

El proveedor del compilador a veces cambia los nombres de las constantes, e incluso puede encontrar errores en los archivos, especialmente para chips muy nuevos.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas