第四章--GPIO接口.ppt_第1页
第四章--GPIO接口.ppt_第2页
第四章--GPIO接口.ppt_第3页
第四章--GPIO接口.ppt_第4页
第四章--GPIO接口.ppt_第5页
免费预览已结束,剩余17页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章GPIO接口 2 GPIO接口时通用输入输出端口 通俗的说 就是一些引脚 可以通过它们输出高低电平或者通过它们读入引脚状态 是高电平还是低电平 GPIO操作是所有硬件操作的基础 由此扩展开来可以了解所有硬件的操作 这是底层开发人员必须掌握的 本章主要内容有 GPIO介绍 按键控制LED实例 本章内容 4 1GPIO概述 4 1 1GPIO简介GPIO是ARM芯片最基本的输入输出通道 在RVDS下操作类似于单片机的工作 直接读写其寄存器 S5PV210共有237个GPIO端口 分为15组 各组GPIO口的数量及属性如下 GPA0 8输入 输出引脚 GPA1 4输入 输出引脚 GPB 8输入 输出引脚 GPC0 5输入 输出引脚 GPC1 5输入 输出引脚 GPD0 4输入 输出引脚 GPD1 6输入 输出引脚 GPE0 GPE1 13输入 输出引脚 GPF0 GPF1 GPF2 GPF3 30输入 输出引脚 GPG0 GPG1 GPG2 GPG3 28输入 输出引脚 GPH0 GPH1 GPH2 GPH3 32输入 输出引脚 GPI 低功率12S PCM GPJ0 GPJ1 GPJ2 GPJ3 GPJ4 35输入 输出引脚 MP0 1 MP0 2 MP0 3 20输入 输出引脚 MP0 4 MP0 5 MP0 6 MP0 7 32输入 输出引脚 GPIO的15组引脚既可以作为输入 也可以作为输出 除了可以作为输入 输出引脚 这些引脚一般都具有其他功能 即引脚复用 而具体要用哪个功能 需要通过与引脚有关的控制寄存器来设置 每组GPIO所具有的其他功能 可查询S5PV210的芯片手册 4 1 2GPIO寄存器 每组GPIO端口有两类控制寄存器 分别工作在正常模式和掉电模式 STOP DEEP STOP 睡眠模式 在正常模式下 正常寄存器工作 如果S5PV210进入掉电模式 所有配置和上拉 下拉控制由掉电寄存器控制 相关寄存器的功能描述如下 1 GPIO的控制寄存器GPxnCON 用来设置GPIO引脚的功能 2 GPIO端口的控制寄存器中 每4位控制一个引脚 0000时为输入IO口 0001时为输出IO口 其他端口根据其功能的不同可以单独查看S5PV210的芯片手册 3 GPIO的数据寄存器GPxnDAT用于读写引脚的状态 及该端口的数据 4 GPIO的上拉 下拉寄存器GPxnPUD用于控制每个端口组上拉 下拉电阻的使能 禁止 某位为0时对应引脚使用上拉 下拉电阻 某位为1时对应引脚不使用上拉 下拉电阻 4 1 3IO操作的步骤 首先 要确定控制过程所用到的GPIO端口的功能 如果只是作为基本输入 输出引脚来进行控制 则大部分情况下不需要进行GPIO上拉 下拉寄存器的设置 如果需要使用引脚其他功能 则需对照S5pv210的芯片手册对相应位进行设定 其次 要进行引脚输入 输出方向控制 通过端口控制寄存器进行相应设置 完成端口作为输入 输出功能或者第二功能引脚的配置 0000表示输入 0001表示输出 最后 对数据寄存器进行操作完成输入 输出功能的实现 如果设置为输入 输出引脚 则通过读取数据寄存器就能实现引脚状态的读取 反之 如果设置为输出引脚 则通过写寄存器就能实现引脚状态的设置 4 2按键控制LED实例 4 2 1硬件原理图本实例的试验目的是实现通过K1 K2控制LED 1 LED 2指示灯 预期的实验现象是按键K1 K2分别对应指示灯LED 1 LED 2的通断 当按键按下时 对应的LED指示灯被点亮 按键应当作为输入引脚来获取引脚的状态判断按键是否被按下 LED指示灯则作为输出引脚 当按键被按下以后 设置LED数据寄存器的状态 控制LED指示灯的亮与灭 首先 查看有关于按键的硬件连接图 如图所示 按键对应于EINT0 5 及KP COL6 7 GPH0和GPH2的三个寄存器的地址以及每个引脚所对应的寄存器位应该查询S5PV210的硬件手册 如图所示 接下来 查看LED灯的硬件连接图 如图所示 当控制引脚置位高电平时 线路处于导通 此时对应的LED灯点亮 当控制引脚置为低电平时 对应线路处于断路状态 此时 对应的LED灯灭 LED指示灯作为输出引脚 S5pv210直接通过控制引脚GPC1 4 3 的高低电平来实现LED指示灯的通断 程序设计逻辑为 1 将按键对应引脚设置为输入引脚 将LED指示灯对应控制引脚设置为输出引脚 2 通过查询方式进行按键状态的判断 从而实现对LED指示灯的控制 4 2 2实例测试 通过一个GPIO口控制LED指示灯的实例 代码如下 key c defineGPC1CON volatileunsignedlong 0 xE0200060 defineGPC1DAT volatileunsignedlong 0 xE0200064 defineGPH0CON volatileunsignedlong 0 xE0200C00 defineGPH0DAT volatileunsignedlong 0 xE0200C04 4 2 2实例测试 定义GPH0的两个寄存器的地址所指向的内容 intmain intkey val 0 intbit GPC1CON 配置GPC1 3和GPC1 4为输出 LED1和LED2LED控制引脚设置为输出引脚GPC1 3 4 LED1 2 GPC1DAT 防抖延时 key val GPH0DAT 下面为程序入口 start S文件 global start 声明一个全局的标号 start blmain 跳转到C函数去执行halt bhalt 下面是自动编译需要的Makefile文件 key bin start okey oarm linux ld Ttext0 x20000000 okey elf arm linux objcopy Obinarykey elf arm linux objdump Dkey elf key diskey o key carm linux gcc c o start o start Sarm linux gcc c o clean rm o elf bin dis 4 2 3跑马灯实例 本实例通过3个文件进行实现跑马灯 Main c代码如下 defineGPC1CON volatileunsignedlong 0 xE0200060 defineGPC1DAT volatileunsignedlong 0 xE0200064 defineLEDS1 defineDELAYVAL1 延时等待函数 intdelay inttime inti j for i 0 i time i for j 0 j 0 xfffff j return0 intmain 设置功能引脚GPIOGPC1CONwhile 1 点灯 跑马灯GPC1DAT 1 3 亮led1delay DELAYVAL 等待GPC1DAT start S Makefile文件编写和程序烧写过程参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论