我编写了一个使用Timer0
中断的程序。我在第11行有一个错误,该错误是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;
}
}
定义常数param_1
和param_2
,松开=
:
#define param_1 0b10001000;
#define param_2 0b10101010;
您似乎在函数void interrupt f1()
中缺少右括号,这将更容易检测出代码是否正确缩进。
此外,const的标准是大写。