目录

  • 按键
  • 原理图
  • GPIO口
  • 按键两种响应方式

按键

如果说LED是开发板最简单的输出设备,那么按键就是最简单的输入设备。
iTop4412上使用的按键是较为常见的按键,有4个引脚,①和②以及③和④分别是联通的。当按键按下时,4个引脚都是导通的。接线时只要选择按键常开状态下不导通的两个引脚就好了。

开关和按键的区别就在于能否自锁,开关按下后能自锁,而按键松手后会自动恢复。

原理图

以图中的Home键为例,当开关处于常开状态时,此时PWRON1侧和KEY不导通,则VDD1V8_EXT经由一个10K的上拉电阻将引脚保持再高电平,当开关闭合时PWRON1侧和KEY侧导通,此时引脚直接接地,引脚此时处于输入模式时就会收到一个低电平信号。

GPIO口

由原理图可知,上述的引脚分别对应

  • UART_RING -> GPX1_1
  • SIM_DET -> GPX1_2
  • GYRO_INT -> GPX3_3
  • KP_ROW1 -> GPX2-1
  • KP_ROW0 -> GPX2_0

按键两种响应方式

  1. 轮询
    CPU每隔一段时间去读取按键对应的GPIO口的电平状态,如果电平处于低电平状态,则调用对应的按键处理函数。
  2. 中断
    设置GPIP触发中断时对应的中断处理程序ISR(Interrupt Service Routine),当按键按下时会触发GPIO对应的外部中断,然后执行对应的中断处理程序。

2022年06月16日

Kilento

iTop-4412 裸机程序(十七)- 按键介绍相关推荐

  1. 4412裸机程序之点亮LED

    4412裸机程序之点亮LED 看一下Tiny4412原理图: 在Tiny4412核心板上有4个可编程控制LED,我们来点亮led1, led1右边接3.3V电源,左边接GPM4_0接口,把GPM4_0 ...

  2. 4412裸机程序之中断

    CPU运行过程中怎么检测外部事件的发生呢,如usb设备插入,按键按下. 1.通过查询的方式,程序循环查询设备的状态,实现比较简单就是占用CPU资源比较高. 2.中断的方式,当事件发生时主动触发一个中断 ...

  3. Tiny4412裸机程序,按键检测(轮询方式)

    由于前几天出差,博客没有更新,今天看了看Tiny4412的原理图,把按键扫描程序写了一下,用的是轮询方式,后面会有中断方式的实现,闲话少说,进入正题,程序由前一个实验Tiny4412之C语言实现流水灯 ...

  4. 如何判断一段程序是否是裸机程序?

    在嵌入式MCU领域,一般将不移植操作系统直接烧录运行的程序称为裸机程序. 一般来说,非易失性存储,时钟,图形显示,网络通讯,用户I/O设备-都需要硬件依赖. 基于硬件基础,内存管理.文件系统.多线程调 ...

  5. s3c6410裸机程序(1)

    嘿嘿,今天在博客园注册了新用户,来记录我的嵌入式学习流程,把自己的心得体会,教训经验,全部写出来,一来可以加深自己的印象,二来写出来让博客园中的高手看到,也可以给我批评指正哦 .@_@ 以前实际上算的 ...

  6. iar 连接linux开发板,LED裸机程序(IAR)

    LED裸机程序(IAR) 一.实验环境 开发环境:IAR5.30 开发板:UT-S3C6410 开发工具:JLINK V8 二.实验目的 在无操作系统的开发板上,运行程序,掌握裸机程序的开发过程,熟悉 ...

  7. 嵌入式设备NFS挂载目录(基于iTop 4412)

    嵌入式设备NFS挂载目录(基于iTop 4412) 文章目录 嵌入式设备NFS挂载目录(基于iTop 4412) 1. 背景 2. 工作量分析 3. 上位机搭建NFS Server 3.1 上位机环境 ...

  8. arm裸机程序启动流程

    Linux系统的引导: 一个SOC拿过来,它是有内部BROM和SRAM的,这个BROM中会固化芯片厂商的最初引导代码,我们叫它RBL(ROM boot loader),它是SOC上电后开始运行的地方, ...

  9. arm裸机与嵌入式linux驱动开发,如何编写基于ARM的裸机程序和基于Linux的驱动程序?...

    在嵌入式开发中,ADC应用比较频繁,本文主要讲解ADC的基本原理以及如何编写基于ARM的裸机程序和基于Linux的驱动程序. ARM架构:Cortex-A9Linux内核:3.14 在讲述ADC之前, ...

  10. tiny4412 裸机程序 八、重定位到DRAM及LCD实验【转】

    本文转载自:http://blog.csdn.net/eshing/article/details/37407423 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 一.实验原 ...

最新文章

  1. 四种JOIN简单实例
  2. Unity技术专家:游戏最重要的是好玩而不是高画质...
  3. Spring Boot配置文件 application.properties
  4. 【Scratch】青少年蓝桥杯_每日一题_4.13_猫捉老鼠
  5. Esxi服务器虚拟化平台搭建
  6. 数学图形(1.5)克莱线
  7. shardingsphere启动的时候报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
  8. 对于刚开始使用该软件,应该在熟悉基本的markdown语法的基础上,再进行快捷键的使用!...
  9. 管理系统中计算机应用第二章,管理系统中计算机应用第二章.doc
  10. 吴恩达机器学习4——神经网络
  11. 扭曲效果 效率优化 GrapPass,CommandBuffer对比
  12. 百度商桥放在php网站哪里_网站优化的几个重要技巧,你知道吗?
  13. 曲演杂坛--SQLCMD下执行命令失败但没有任何错误提示的坑
  14. Ajax模拟Form表单提交,含多种数据上传
  15. html点击按钮出现弹窗_电脑总是弹出乱七八糟的广告?跟我学,让你从此告别弹窗广告...
  16. 基础Astar算法及节点优化python代码实现
  17. php eval函数的用法,php eval函数用法详解
  18. 数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
  19. [BZOJ4784][UOJ290][ZJOI017]仙人掌-树形DP
  20. 红黑树的深入分析和实现

热门文章

  1. ❤️微信小程序 云开发 教程合集(视频+图文)免费❤️
  2. networkx —— 基本操作及画图
  3. c语言的源程序的后缀名是,C语言源程序文件的后缀名是()。
  4. Lambda基本语法及使用
  5. 经验分享:如何系统学习 Web 前端技术?
  6. AddressBook 地址簿  (电话簿) 访问与修改-IOS开发
  7. 通达信转MT4怎么弄
  8. Arduino——超声波测距
  9. 基于stm32和ESP8266实现wifi模块smartlink功能以及TCP连接
  10. [ 案例源码 ] 利用php开发apicloud 前台加后台源码