嵌入式学习笔记(35)外部中断

6.9.1什么是外部中断

(1)内部中断就是指中断源来自于SoC内部(一般是内部外设),譬如串口、定时器等部件产生的中断;外部中断是SoC外部的设备,通过外部中断对应的GPIO引脚产生的中断。

(2)按键在SoC中就使用了外部中断来实现。具体实现方法是:将按键电路接在外部中断的GPIO上,然后将GPIO配置为外部中断模式。此时人通过按按键改变按键电路的高低,这个电压高低会出发GPIO对应的外部中断,通过引脚传进去给CPU处理。

(3)外部中断相关的介绍和寄存器都在2.2.6章节(属于GPIO部分)

6.9.2电平触发和边沿触发

(1)外部中断的触发方式有2种:电平触发和边沿触发

(2)电平触发就是说GPIO上的电平只要满足条件,就会不停的触发中断。电平触发分为高电平触发和低电平触发。

(3)边沿触发分为上升沿触发、下降沿触发和双边沿触发三种。边沿触发不关心电平的常规状态,只关心电平变化的瞬间(边沿触发不关心电平本身是高还是低,只关心变化是从高到低还是从低到高这个过程)。

分析按键的工作:如果我们关注的是按键按下和弹起这两个事件本身,那么应该用边沿触发来处理按键;如果我们关心的是按键按下/弹起的那一段时间,那么应该用电平触发。

6.9.3关键寄存器:CON、PEND、MASK

(1)外部中断的主要配置寄存器有3个:EXT_CON、EXT_PEND、EXT_MASK

(2)EXT_CON配置外部中断的触发方式。

(3)EXT_PEND是中断挂起寄存器。这个寄存器中每一位对应一个外部中断,平时没有中断时值为0。当发生了中断后,硬件会自动将这个寄存器中该中断对应的位置置1,我们去处理完这个中断后应该手工将该位置0。这个PEND寄存器的位就相当于是一个标志,如果发生了中断但是我们暂时忙来不及去处理时,这个位就一直是1(就是挂起),直到我有空了去处理了这个中断才会手工清除(写代码清除)这个挂起位表示这个中断被我处理了。

(4)EXT_MASK寄存器就是各个外部中断的使能/禁止开关。

分析210开发板的按键对应的EINT编号:

EINT2、EINT3、EINT16、EIN717、EINT18、EINT19

嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。在评论区或私信我“嵌入式”三个字,即可0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值