Ошибка компилятора MPLAB XC8: «в объявлении нет идентификатора» - PullRequest
0 голосов
/ 15 января 2020

Я написал программу, которая использует Timer0 Прерывание.

Кажется, я не могу скомпилировать свой код, у меня в строке 14 ошибка 12.14 no identifier in declaration.

Вот весь код:

#include<xc.h>
#define _XTAL_FREQ 4000000
#define param_1=0b10001000;
#define param_2=0b10101010;

int counter=0;

void interrupt f1() { 
    if(TMR0IE && TMR0IF) {
        counter++;
        INTCONbits.TMR0IF=0;
    }

int volatile param_1=0, param_2=0;

void int_tmr0(int conf_int, int conf_T0) {
    conf(param_1,param_2);
}
void conf(int p1, int p2) {
    T0CON= T0CON || p1;
    INTCON= INTCON||p2;
}

int main() {
    WDTCONbits.ADSHR=1;
    MEMCONbits.EBDIS=1;
    TRISD=0x0;
    INTCONbits.GIE=1;
    INTCONbits.TMR0IE=0;
    while(1){
        LATD=counter;
    }
}

1 Ответ

2 голосов
/ 15 января 2020

Определяя константы param_1 и param_2, теряйте = и ;:

#define param_1 0b10001000
#define param_2 0b10101010

Вы, похоже, отсутствует закрывающая скобка в функции void interrupt f1(), это будет будет легче определить, правильно ли вы сделали отступ в своем коде.

Кроме того, стандартом для имен констант является прописная буква.

...