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

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.设置总中断

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 从本质上讲,中断(硬)是一种电信号,当设备有某种事情发生的时候,他就会产生中断,通过总线把电信号发送给中断控制器。...
    Joe_HUST阅读 23,084评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,421评论 19 139
  • Arduino Due有14个数字I/O,6个模拟I/O,一个复位开关,一个ICSP下载口,7-12v电源供电。 ...
    麦牛2013阅读 3,512评论 0 8
  • 突然想和父母倒个歉!对不起,没有成为你们想象中的样子,未来亦会如此,我只想成为自己想成为的样子! 起因是这样的,临...
    凤凰花下阅读 224评论 0 0
  • testte \ dasd as
    冯锋_4de5阅读 124评论 0 0

友情链接更多精彩内容