我爱编程

AVR外部中断 (2016-07-30 21:13:12)

2018-02-22  本文已影响0人  沧海一声笑的DIY宇宙

AVR芯片可以响应外部引脚中断。这种引脚以INT命名。如INT0,INT1。当然以PCINT开头的引脚也能获得外部中断。不过他们会共享一个中断响应函数,因此要轮询。而INT这种引脚的中断有独享的中断函数。

以ATTiny24来实验下。它只有一个外部中断引脚PB5,对应的是INT0。

void SetINT0()

{

 //常规性的都置0

 MCUCR = 0;

 GIMSK = 0;

 // 设置为下降沿触发。ISC系列位控制触发方式

 MCUCR |= _BV(ISC01);

 // 开启触发中断

 GIMSK |= _BV(INT0);

 // 开启总中断控制

 SREG |= _BV(7);

}

// 中断响应函数

ISR(INT0_vect)

{

}

总结下外部中断的使用方式:

1.设置MCUCE寄存器来控制引脚的触发方式。

2.开启引脚的触发中断

3.设置总中断

上一篇 下一篇

猜你喜欢

热点阅读