Ошибка при компиляции c-файла на MPLAB Xide

Я получаю следующие ошибки при попытке скомпилировать с помощью MPLAB X в Windows.


newmain.c:40:9: error: unknown configuration setting: 'JTAGEN'

newmain.c:61:2: error: 'LATA' undeclared (first use in this function)

newmain.c:62:2: error: 'TRISA' undeclared (first use in this function)

newmain.c:61:2: error: 'LATA' undeclared (first use in this function)

Я пробовал это на двух разных машинах (в Windows 8.1 и Vista), но все они выдавали одну и ту же ошибку.

Похоже, что файл xc.h уже включен в проект, так как я могу открыть этот файл. А еще я гуглил эту проблему, но решения для нее не было.

Большое спасибо, если вы можете дать мне возможный способ решить эту проблему.

Я также прикрепил фотографию с описанием свойств проекта для этого проекта.

введите здесь описание изображения

Ниже приводится полное описание ошибки:

 - CLEAN SUCCESSFUL (total time: 52ms) make -f
   nbproject/Makefile-default.mk SUBPROJECTS= .build-conf make[1]:
   Entering directory 'Z:/Personal Data/MPLABXProjects/Lab01.X' make -f
   nbproject/Makefile-default.mk
   dist/default/production/Lab01.X.production.hex make[2]: Entering
   directory 'Z:/Personal Data/MPLABXProjects/Lab01.X' "Z:\Program Files
   (x86)\Microchip\xc32\v1.40\bin\xc32-gcc.exe" -g -x c -c
   -mprocessor=32MX340F512H -MMD -MF build/default/production/newmain.o.d -o
   build/default/production/newmain.o newmain.c newmain.c:40:9: error:
   unknown configuration setting: 'JTAGEN' #pragma config JTAGEN = OFF
   // JTAG Enable OFF (only use for '250)
   nbproject/Makefile-default.mk:105: recipe for target
   'build/default/production/newmain.o' failed ^ newmain.c: In function
   'main': make[2]: Leaving directory 'Z:/Personal
   Data/MPLABXProjects/Lab01.X' newmain.c:61:2: error: 'LATA' undeclared
   (first use in this function) nbproject/Makefile-default.mk:78: recipe
   for target '.build-conf' failed LATA = 0; // Set value of PORT A
   output to 0. ^ make[1]: Leaving directory 'Z:/Personal
   Data/MPLABXProjects/Lab01.X' nbproject/Makefile-impl.mk:39: recipe
   for target '.build-impl' failed newmain.c:61:2: note: each undeclared
   identifier is reported only once for each function it appears in
   newmain.c:62:2: error: 'TRISA' undeclared (first use in this
   function) TRISA = 0; // Set all pins on PORT A to output ^ make[2]:
   *** [build/default/production/newmain.o] Error 1 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 BUILD FAILED
   (exit value 2, total time: 203ms)

И источник

#include <xc.h>

#pragma config FWDTEN = OFF, JTAGEN = OFF

void delay(void);

unsigned int ctr = 0;
unsigned int delayVal = 2048;

int main(void)
{
    LATA = 0;
    TRISA = 0xFF00;

    while(1)
    {
        LATA = 0x0055;
        delay();

        LATA = 0x00AA;
        delay();

        ctr++;
    }
}

void delay(void)
{
    unsigned int i,j;

    for (i = 0; i < delayVal; i++)
    {
        for (j = 0; j < 20; j++);
    }
}

person online.0227    schedule 10.01.2016    source источник
comment
Вы проверили, активны ли какие-либо включения в xc.h? Лично я предпочитаю включать заголовочный файл устройства напрямую, а не полагаться на компилятор.   -  person EBlake    schedule 10.01.2016


Ответы (1)


Ошибки, которые вы получаете, указывают на то, что компилятор не видит никаких библиотек, на которые можно ссылаться на эти регистры. Вместо этого он обрабатывает их как обычные переменные.

Вы должны включить конкретный заголовочный файл для процессора, который вы используете, а также проверить, какие регистры структурированы там, чтобы лучше понять вашу проблему.

person KS7X    schedule 12.01.2016