嵌入式Linux应用开发完全手册(二)GPIO

本文介绍了GPIO硬件接口,包括GPxCON、GPxDAT和GPxUP寄存器,并以2440为例详细解释其工作原理。通过汇编和C语言两个实例,展示了如何点亮和控制LED灯,包括设置GPIO为输出端口、改变电平状态等操作。最后提到了裸板程序中启动文件的编写和C语言程序的流程。
摘要由CSDN通过智能技术生成

5 GPIO接口

5.1 GPIO硬件接口介绍

  • GPIO General Purpose I/O Port,通用输入、输出端口。简单说就是这个端口可以配成输入的(读电平信号),也可以配成输出的(设置电平信号)
  • 无论是输入还是输出都是通过寄存器来实现的
    • 输入 通过读某个寄存器来确定引脚电平是高还是低,是1还是0
    • 输出 通过写入某个寄存器让这个引脚输出高电平或者低电平,1或者0
  • 具体的寄存器设置需要看硬件手册,这里以2440为例
    • GPxCON寄存器
    • GPxDAT寄存器
    • GPxUP寄存器



      以上是GPACON GPADAT寄存器的手册说明。
      从中可以看到A组GPIO的控制和数据寄存器的地址,编码格式。
  • GPACON和GPADAT都是4字节,32位的寄存器,地址分别是0x56000000 0x56000004
  • GPACON的有效配置位是0到24,分别对应GPA0到GPA24,每个端口一位
  • GPACON的每一个端口,配置成0表示用作output端口,配置为1代表不同的控制信号,用作各种专门的用途
  • GPADAT的0到24位,对应GPA0到24,用作output端口时,管脚的电平根据寄存器的设置来输出;用作其他用途的时候根据各自的用途,芯片自动设置
  • GP A组的管脚作用特殊,我们可以看下B组的控制寄存器格式,B组是通用的



    这是B组的GPIO寄存器格式,用3个寄存器控制。GPBCON的控制配置,GPBDAT的数据配置,GPBUP的状态配置。
  • 与A组不同,GPBCON每2位控制一个GPIO管脚,可以有4种工作方式
    • 00 输入
    • 01 输出
    • 10 特殊功能
    • 11 保留
  • GPBDAT
    • 对应管脚是输入管脚的时候,通过对应的寄存器位判断输入信号
    • 对应管脚是输出管脚的时候,通过设置对应的寄存器位,输出信号
  • GPBUP
    • 0 对应的管脚使用上拉电阻
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值