2015-02-02 2 views
0

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

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); 
} 
+0

Не могли бы вы также показать соответствующие строки кода? –

+0

добавлен код. петли for работают только с c99, если я инициализирую int перед циклом – Pwnie2012

+0

, это код BS, я думаю (по функциональности), но проблема компиляции там ... – Pwnie2012

ответ

0

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

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

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

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

ciao!

Смежные вопросы