树莓派上GPIO的介绍

      树莓派上用的ARM有54个通过的GPIO口,我们把这54个GPIO口分成了两个banks。所有GPIO引脚至少有两个功能。具体的关于GPIO口的功能,后面再详述。GPIO口当作IO口时,也可以配置是否有上下拉。下面是关于GPIO的地址。

      下面的地址都是以0x7e开关的,但是在我们学习的课程中都是以0x20开头的,所以可见,我们写的程序都是经常mmu映射的虚拟地址。


       上面这个图中有两个寄存器地址相同,所以上面共有6组寄存器,每组寄存器控制10个GPIO引脚,因为树莓派上有54个GPIO引脚<6x10=60个,所以6组寄存器就足够了。

      上面的寄存器具体如何用,下面会有讲,现在我们只要知道上面的6组寄存器是确定GPIO的功能(输入,输出,还是其它功能),每3位决定一个引脚的功能。

   

       下面的4个寄存器就更容易了,GPSET是置1引脚,GPCLR是清0引脚。因为在我们的课程中是往0x20200028中写数据时,LED会亮,所以可以知识树莓派上的LED是送0就点亮。

只要给GPIO16脚送0,就可以点亮Led了。

      因为一个寄存器才32位

所以GPSET0控制GPIO0到GPIO31引脚 。

       GPSET1控制GPIO32到GPIO53引脚

下面清0寄存器也是一样的道理。

上面的这个就是关于GPIO的最基本的控制了,下面的寄存器是有关于GPIO的高级功能。

下面的每一个功能都有两个寄存器来决定,因为一个寄存就是32位。2x32=64才能决定54个GPIO的控制。


下面我们总结整理一下:(注意我们写程序时用到是虚拟地址,所以用地址0x20代替0x7e)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值