В MPLab PORTFbits нет участника с именем RF0

Сегодня я получил свой chipKit Uno32 и хотел запрограммировать его с помощью MPLab X. Мой код довольно прост и просто переключает контакт (один со светодиодом...). При компиляции выдает такие ошибки:

main.c: In function 'main':
main.c:9:5: error: '__PORTFbits_t' has no member named 'RF0'
main.c:13:13: warning: implicit declaration of function 'asm'
main.c:15:9: error: '__PORTFbits_t' has no member named 'RF0'
main.c:20:9: error: '__PORTFbits_t' has no member named 'RF0'
make[2]: *** [build/default/production/main.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 532ms)

plib.h включен, и я включил c99. При отключении c99 компилируется нормально! Любые идеи? Я бы очень хотел использовать c99, так как в нем довольно много вещей, которые я регулярно использую...

Код:

int main(int argc, char** argv) {

    mPORTFSetPinsDigitalOut(PORTFbits.RF0);

    while(1){
        for(int i = 0; i < 80000000; i++){
            asm("nop");
        }
        mPORTFSetBits(PORTFbits.RF0);

        for(int i = 0; i < 80000000; i++){
            asm("nop");
        }
        mPORTFClearBits(PORTFbits.RF0);
    }
    return (EXIT_SUCCESS);
}

person Pwnie2012    schedule 02.02.2015    source источник
comment
Не могли бы вы также показать соответствующие строки кода?   -  person Sourav Ghosh    schedule 02.02.2015
comment
добавил код. циклы for работают только без c99, если я инициализирую int перед циклом   -  person Pwnie2012    schedule 02.02.2015
comment
Кстати, код, я думаю, BS (с точки зрения функциональности), но проблема с компиляцией существует...   -  person Pwnie2012    schedule 02.02.2015
comment
Звучит как проблема с включением. Какие файлы включены в ваш код?   -  person ElderBug    schedule 02.02.2015
comment
#include ‹stdio.h› #include ‹stdlib.h› #include ‹p32xxxx.h› #include ‹plib.h›   -  person Pwnie2012    schedule 02.02.2015
comment
Какой компилятор и какую версию используете?   -  person ElderBug    schedule 02.02.2015
comment
Кроме того, вы уверены, что выбрали правильный чип в проекте? Если не ошибаюсь, у вас чип PIC32MX320F128H. Последняя буква «Н» очень важна, она определяет количество контактов чипа. Тот же чип с буквой «F» может не иметь вывода RF0.   -  person ElderBug    schedule 02.02.2015
comment
Я думаю, что ElderBug прав. Чип, который вы используете, вероятно, не имеет RF0. Найдите точный заголовочный файл чипа и найдите RF0 внутри. Если найдёшь - проблема с включением, если не найдёшь, то и говорить не о чем.   -  person iggy    schedule 02.02.2015
comment
чип правильный; компилятор XC32   -  person Pwnie2012    schedule 03.02.2015


Ответы (1)


попробуйте подключить свою библиотеку напрямую, используя plib.h

ваш набор микросхем использует микроконтроллер PIC32MX320F128, поэтому убедитесь, что вы выбрали его при создании нового проекта mplab и при включении правильного файла заголовка.

Один из способов проверить свое рабочее пространство - щелкнуть правой кнопкой мыши свой код, где вы написали RF0, перейти к «навигации», а затем «перейти к объявлению». Если mplab открывает заголовочный файл вашего микро, чтобы показать вам объявление RF0, все работает нормально.

Если ничего не происходит, возможно, вы пропустили какой-то шаг.

Чао!

person Davide Ferrero    schedule 23.02.2015