【篇六】按键和CPU中断

本章主要总结点

  1. 按键特性整理
  2. 按键接线图解读
  3. Soc轮训方式接受按键信号
  4. Soc中断体系介绍和接受按键信号

按键特性整理

    * 物理特性,未按时,弹簧把按键按钮弹开,此时内部断开的,按下时,内部保持接通(闭合)状态
    * 一般有4个引脚, 这四个成二对形式。一对是常开触点(不按断开,按下闭合),一对是常闭触点(不按闭合,按下断  开)
    * 属于输入性设备,由人像SoC发送按键信号(按下信号【低电平】和弹开信号[高电平] ),
      其他单纯 输入设备有:触摸屏,
                   单纯输出设备:LCD
                   输入输出设备:IO,串口

按键接线图解读

如图:

    * 6个按键,正级接VDD_io, 负极接地,按下产生电压,通过引脚GPIO发送电平信号(高或者地)通知SoC按键的动作是按下还是弹开
    * EINTn 连接的引脚为 GPH0  ...其他依次类推
    * SoC接受信号,处理按键的方式:轮训和中断
        轮训:Soc主动每间隔固定时间去读(按键所在的寄存器)CPIO的电平高低,活得按键信号:缺点在于要一直监听按键进行轮训
        中断:Soc事先设定好CPIO触发的中断所对应的中断处理程序ISR,按键触发CPOO对应的外部中断,导致ISR执行,从而自动处理按键信息

Soc轮训方式接受按键信号

    * 按键按下还是弹起,决定的外部电路是否接通,从而决定这个GPIO引脚的电压是高还是低,需要先配置这个引脚为输入模式,然后SoC内部读取该引脚电平是1还是0,判断按下与否
    * 配置 GPH0CON =0xE020_0C00  GPH2CON =0xE020_0C40  为输入模式
    * 去读 GPH0DAT =0xE020_0C02  GPH2DAT =0xE020_0C44  的电平信号
    * 代码   GPH0CON =GPH0CON | (3<<0);
            int data= *GPH0DAT & (1<<2) ;

Soc中断体系介绍和接受按键信号

    * 中断的发明是用来解决宏观上的并行需要的,宏观就是从整体上看,但并不等于微观上的并行
    * 微观上的并行,指的真实的并行,也就是说每一秒,每一刻,多个事情都在运行,如两颗芯片同时运行两个程序,而不是一颗芯片同时运行多件程序
    * 生活场景举例:一个人正在吃饭(cpu运行一个程序),突然收到快递电话(收到一个中断信号),由于不能同时吃饭和收快递,如是先去收快递(中断发生,SIR通知CPU去处理中断)
      收到之后(执行完ISR),在回来吃饭(cpu回来执行常规任务)
    * 为什么需要中断? 因为单核CPU实际无法并行的,但是通过中断机制,可以实现假并行,(宏观上的并行,微观上实际还是串行)

    * CPU实现中断的机制:异常向量表 《08-02-异常向量表内存地址》
      》异常向量表地址表示的偏移位置,基地址是可以配置的,所有CPU中断都是通过异常向量表实现的,只不过不同cpu的表构造和位置不同
      》异常向量表是CPU中某些特定地址的特定定义,当中断发生时,中断想办法通知CPU去处理中断,实现方式就需要靠异常向量表
      》在CPU硬件设计时,就实现定义了CPU中一些特定地址作为特定异常的入口地址,如果发生该类型的异常,cpu就会该地址执行指令或程序代码
      》硬件决定发生了什么异常CPU自动跳转PC到哪个地址执行,软件需要把处理异常的代码放到这个异常向量地址

    * 异常与中断关系
      》异常:异常定义是突发事件,打断cpu正常常规业务,(如发生复位,软中断,中断,快速中断,取指令异常,数据异常),CPU需要条状到异常向量表执行异常处理程序
      》中断:是异常的一种,一般特指SoC内部外设产生的打断SoC常规业务

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源14

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值