本帖最后由 mcbot 于 2018-2-27 10:58 编辑
大家好,我用的mega644P-B15AZ 汽车级的。现在要用的外部中断INT1,初始化后始终不能正常工作。我的外部是一个20ms的脉冲,每8s发一个脉冲,用示波器看了一下,波形正常。我用的AVstudio 7.0开发环境。
求指点
现象如下
1、改成低电平触发中断以后,就会不停进中断 2、设置为边沿触发,就永远进入不了中断
3、设置为边沿触发后,我用另外一个IO口,产生一个方波,直接给INT1引脚,仍然是进不了中断
void INT1_Init(void)
{
DDRD&= ~(1<<DDD3); //PD3输入
PORTD|=(1<<PD3); //内部电阻上拉 50KΩ
EIMSK=0x00; /*中断禁用*/
EICRA &=~ (1<<ISC11);
EICRA |= (1<<ISC10); /*上升沿和下降沿触均发中断*/
EIFR=0XFF; /*清除中断标志*/
EIMSK|=(1<<INT1); /*中断使能*/
Feed_TPL5010();
}
中断服务函数 如下:
ISR(INT1_vect)
{
printf("\n\r INT1\r\n");
//EIFR=0XFF;
}
|