文章目录

  • 说在前面
  • 用轮询的方式去控制按键。
    • 通过看原理图得知要配置的按键的对应寄存器是哪些。
    • 用GPH0为例子
    • 写key的相关函数。
    • 记得包含好头文件

说在前面

其实我一直以为简单的东西可以不用做笔记或者记录。
直到现在我发现我错了
第一次学的时候是觉得很简单所以就没怎么做笔记,当时过两天还能写出来,但是到了后面一点,就算是最简单的东西也会忘记。所以还是一步步从头记录吧

用轮询的方式去控制按键。

轮询就是一直在扫描等待是否有响应的信息出现。
其实控制按键还是挺简单的,不论什么开发板。但是要注意寄存器的配置。

通过看原理图得知要配置的按键的对应寄存器是哪些。


用GPH0为例子

2.2.56 PORT GROUP GPH0 CONTROL REGISTER
There are four control registers including GPH0CON, GPH0DAT, GPH0PUD and GPH0DRV in the Port GroupGPH0 Control Registers.

其实GPH0寄存器下面有包括了四个控制寄存器,分别是
GPH0CON :控制输入输出以及中断模式的。
GPH0DAT :数据位,用来判断是否置位。
GPH0PUD :控制上下拉的
GPH0DIV :应该是配置驱动能力的,有1x、2x、3x、4x

另外要在数据手册上提取的关键信息还有寄存器的地址。
例如这里的GPH0CON的地址就是0xE0200C00

写key的相关函数。

记得,每用一个外设,都先按照初始化然后再使用的方法
初始化其实就是配置寄存器,让它在合适的工作模式下进行工作。
所以应该是先进行key_init,然后再key_polling(轮询用)

记得包含好头文件

因为要延续之前的uart,用到了别人移植的printf函数,所以头文件也要包含别人的“stdio.h”
另外,需要跟led进行联系,大概思想是想按键按一下就有led显示,所以需要用到led相关的c文件
从这时候开始,慢慢的文件多了起来会觉得乱了,所以要做好文件名字规范管理,而且最好做一个main.h来包含所有头文件(uart的、led、key)这样的话就以后只要包含main.h头文件即可。

具体代码上传附件吧。我用的是《朱老师物联网大讲堂》里面的嵌入式课程的S5pv210开发板。
https://download.csdn.net/download/qq_40897531/12308347

uart的后续,控制开发板按键,并且与led进行联系相关推荐

  1. 【领卓教育】QT控制开发板

    @领卓教育 使用软件:QT5.6.1,keil5 使用硬件:STM32F103 实现目标:使用QT设计UI界面生成按键控制页面,用来控制开发板,能控制LED1.LED2和蜂鸣器,能显示开发板电池电压. ...

  2. S3C6410开发板按键驱动代码分析及测试代码分析

    在本文中,我们对S3C6410开发板按键驱动代码的实现过程进行分析,然后通过一个实例对按键功能进行测试.在本文的资源中包含了设备驱动的源码和测试的源码. 一.设备驱动源码分析 按键的设备驱动主要实现了 ...

  3. STM32 FOC BLDC 无刷电机 控制开发板资料 视频教程 例程 FOC库

    STM32 FOC BLDC 无刷电机 控制开发板资料 视频教程 例程 FOC库 华愉电子工作室 软件特点:使用ST公司V2.0 版本马达库为基础,同时为了让初学者尽快上手,所以没有加过多的软件技巧, ...

  4. rk Android 开发板按键适配

    2019-06-10 关键字:rk3128按键适配.rk Linux层按键适配.按键驱动 笔者手里有一块运行着 Android4.4 的 rk3128 开发板.这两天接到一个要添加外部按键的需求,稍微 ...

  5. 【物联网设计记录】基于机智云云平台的Wi-Fi控制开发板

    1.设计整体思路 开发板使用了ESP8266Wi-Fi模块实现数据传输. 控制流程图 ESP8266模块负责传输数据,手机通过Wi-Fi连接至机智云平台,并传输指令至平台再而传递控制指令至开发板,实现 ...

  6. winform连接blynk 控制开发板

    winform 连接blynk服务 读取引脚值和设置引脚值 简介 配置blynk服务到Ubuntu或树莓派 winform连入blynk服务 2022/11/3 简介 blynk是开源的物联网开发平台 ...

  7. 创龙TI AM437x ARM Cortex-A9 CPU开发板按键、串口

    TL437x-IDK是广州创龙基于SOM-TL437x核心板研发的一款TI ARM Cortex-A9开发板,采用核心板+底板方式,尺寸为205mm*125mm,核心板采用4*60pin B2B工业级 ...

  8. 官方 STM32F303ZE Nucleo-144开发板 按键使用

    开发板 F303 的外部高速晶振没有焊接,外部低速晶振是焊接了的 开发板案件的 IO 口是PC13

  9. 【体验】TLD5098EL英飞凌恒流电源开发板,恒定电流源LED驱动板

    前言: ("短短的文章还搞个前言""我就是想幽默诙谐的解释一下标题")英飞凌的TLD5098EL板子,"恒流电源评估板"这个名字是我起的,我 ...

最新文章

  1. mybatis中![CDATA[]]的作用
  2. Design Pattern - Observer(C#)
  3. asp.net MVC 权限设计(续)
  4. CentOS6.5安装Tab增强版:bash-completion
  5. paip.提升性能----硬盘不同转速不同缓存对比转
  6. 分享互联网公司经验一
  7. 服务器用户配置文件在哪里找,SharePoint Server 中的服务器到服务器身份验证和用户配置文件...
  8. 特征选择的工程方法?
  9. M1 Mac 屏幕截图录像工具:CleanShot X
  10. 广播接收器动态静态注册
  11. [SHOI2008]堵塞的交通
  12. linux等待队列wait_queue_head_t和wait_queue_t
  13. matpower在matlab里面吗,matpower matlab 238万源代码下载- www.pudn.com
  14. ae效果英文版翻译对照表_AE 特效中英翻译
  15. Java 项目中使用 TongLink/Q 实现消息队列传输
  16. 用户路径分析之利器“桑基图”
  17. 机械臂控制C语言程序,ROS机械臂开发:MoveIt!编程
  18. OpenCV-图像二值化
  19. 游戏玩家的程序猿之路
  20. oracle max相同,关于oracle:具有相同名称的材料化视图和表

热门文章

  1. noip模拟【noname】
  2. Double-Buffer双缓冲——游戏编程模式(下)
  3. 【产品】产品迭代各部门工作全流程(5年工作经验都在这了=.=)
  4. Ubuntu18.4安装vim报错解决
  5. 苏州大学机电工程学院院长孙立宁:医疗机器人的机遇、现状和未来
  6. 【元器件学习笔记—电阻】(3)——电阻器参数和识别方法
  7. 大众mpv_买别克GL8请等一等,大众商务MPV要来了长超5.3米,或售30万起
  8. 一个员工的离职成本到底有多大
  9. 编写java应用程序,使用Scanner对象输入并输出学生基本信息
  10. GETAVERSE 1月月报 | KuCoin孵化 节点数突破