我用的是PIC12F1822 我做一个通过检查RA4端口的电平变化 中断控制灯亮灭,程序一运行到 IOCIE = 1; //使能电平中断 的时候就进入中断,好奇怪的是,不管我有没有电平变化,都会进入中断,而且就算是有电平变化的时候(这个电平不用考虑,RA4一直都是有脉冲电平送到,高低电平),进入中断,电平中断的标志位也没有发生改变 调试了好多遍 找不到问题所在,前来求助。 我看手册里面说的好简单 怎么就是不能成功呢 求助
__CONFIG(FOSC_INTOSC&WDTE_ON&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_ON&BOREN_OFF&CLKOUTEN_OFF&IESO_OFF&FCMEN_OFF);//这个要放到上一行去
__CONFIG(PLLEN_OFF&LVP_OFF) ;
#define LED LATAbits.LATA0
int NUM = 0;
void interrupt ap(void)
{
//外部中断函数
if(1 == IOCIF)
{
IOCAF = 0;
LED = 1;
//NUM++;
}
}
void ap_an_init(void)
{
GIE = 1; //开始总中断
PEIE = 1; //开始外部中断
IOCAF = 0; //清零中断标志位
IOCAP4 = 1; //上升源触发使能
IOCAN4 = 1;
IOCIE = 1; //使能电平中断 调试的时候 到这个位置就进入中断了 但是中断标志位没有发生改变 不知道是不是配置问题
}
int main(void)
{
TRISA = 0x10;
ANSELA = 0X10;
WPUA4 = 1;
LED =0;
ap_an_init();
//主体功能
while(1)
{
;
}
return 0;
}
|