外部中断,ATMEGA16为例
初始化:
MCUCR=_BV(ISC00)|_BV(ISC01);//上升沿触发
GICR=_BV(INT0);//外部中断0允许
中断处理函数
ISR(INT1_vect)
{
//...
}
引脚中断,ATMEGA168为例
初始化:
PCMSK2|=_BV(PCINT20); //IRQ引脚电平变化中断使能
PCICR|=_BV(PCIE2); //引脚变化中断3开
中断处理函数
ISR(PCINT2_vect)
{
if(PIND & _BV(PD4)) //高电平
{
//...
}
}
|
|