首页| 行业标准| 论文文档| 电子资料| 图纸模型
购买积分 购买会员 激活码充值

您现在的位置是:团子下载站 > 其他 > 树莓派的IO口详细资料简介

树莓派的IO口详细资料简介

  • 资源大小:0.28 MB
  • 上传时间:2021-09-24
  • 下载次数:0次
  • 浏览次数:30次
  • 资源积分:1积分
  • 标      签: 树莓派 Linux IO

资 源 简 介

wiringPi GPIO   • linux系统学习一段时间后发现它非常有魅力,一个简单的IO口输出操作尽有那么多的“玩法” 。wiringPi是一个简单易用的函数库,通过wiringPi可以扩展SPI和I2C等芯片。   GPIO相关寄存器   • 树莓派平台的GPIO驱动,例如RPi.GPIO和WiringPi均采用直接操作 GPIO寄存器的方式,树莓派的CPU采用博通的BCM2835,想要更好的了解树莓派的GPIO驱动实现就必须阅读BCM2835的数据手册。在BCM2835数据手册中需要认真关注两个内容:   • 外设寄存器物理地址和外设虚拟地址的映射关系。在linux操作系统中,借助ARM内部的MMU,CPU外设物理地址映射成了虚拟地址,外设的物理起始地址为0x7E00 0000,被MMU虚拟之后的起始地址为0x2000 0000。以此类推,GPIO外设物理起始地址为 0x7E20 0000 = 0x7E00 0000+0x0020 0000,被MMU虚拟之后的 GPIO外设地址为0x2000 0000+0x0020 0000。那么对于Linux系统而言,GPIO相关操作的起始地址为0x2020 0000。BCM2835的内部映射关系如下图所示。   • GPFSELx、GPSETx、GPCLRx和GPLEVn寄存器。简单来说,GPFSELx 为IO口方向或复用寄存器,负责IO口方向例如输入或输出; GPSETx为IO口输出寄存器,负责IO口输出逻辑高电平;GPCLRx寄存器同为IO口输出寄存器,不过和GPSETx相反,负责输出逻辑低电平。GPLEVx为IO口输入寄存器,负责IO口输入状态。   • (如果您不理解这些寄存器也不理解MMU机制,也不会影响您使用wiringPi。请放心大胆地使用wiringPi,它已经帮你完成了很多基础性的工作)
VIP VIP