美文网首页
【蜗牛黑板报】外部中断

【蜗牛黑板报】外部中断

作者: 技术是神奇的 | 来源:发表于2020-11-01 21:49 被阅读0次

    什么是外部中断(spec中一般写为:EXT_INT: external interrupt)

    1. SoC支持的中断类型中有一类叫外部中断.

    内部中断: 就是指的中断源来自于SoC内部, 一般是内部外设, 比如串口、I2C、LCD、定时器等部件产生的中断;
    外部中断: SoC外部的设备, 通过外部中断对应的GPIO引脚产生的中断.

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

    注: 外部中断基本都是通过GPIO的方式实现的.

    中断的关键寄存器: CON、PEND、MASK(来自于s5pv210)

    1. 外部中断的主要配置寄存器有3个: EXT_INT、EXT_PEND、EXT_MASK
    2. EXT_CON用于配置外部中断的触发方式. 触发方式就是说外部电平怎么变化就能触发中断.
    3. EXT_PEND是中断挂起寄存器. 这个寄存器中每一位对应一个外部中断, 平时没有中断时值为0. 当发生了中断后, 硬件会自动将这个寄存器中该中断对应的位置置为1(注意这里是硬件去置1), 当程序员处理完这个中断后需要置为0. 这个PEND寄存器相当于是一个标志, 如果发生了中断, 但是暂时忙来不及处理时, 这个位一直是1(这就是挂起), 直到空闲了处理了这个中断才会手动清除(程序员写代码).
    4. EXT_MASK就是各个外部中断的使能/禁止 开关(默认”门“是1, 即默认是屏蔽的、关闭的; 使能需要修改为0)

    外部中断的触发方式

    电平触发和边沿触发

    1. 电平触发就是说GPIO上的电平只要满足条件, 就会不停触发中断. 电平触发分为高电平触发和低电平触发. 电平触发的特点: 只要电平满足条件就会不停触发中断
    2. 边沿触发分为上升沿触发、下降沿触发和双边沿触发三种.
      边沿触发不关心电平本身状态, 只电平变化的瞬间.

    相关文章

      网友评论

          本文标题:【蜗牛黑板报】外部中断

          本文链接:https://www.haomeiwen.com/subject/sxmuvktx.html