Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1152183
  • 博文数量: 222
  • 博客积分: 5262
  • 博客等级: 大校
  • 技术积分: 3028
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-22 19:10
文章分类

全部博文(222)

文章存档

2012年(2)

2011年(192)

2010年(28)

分类: 嵌入式

2011-04-22 10:15:45

百科名片

General Purpose Input Output (通用输入/输出)简称为GPIO,或总线扩展器,利用工业标准I2C、SMBus™或SPI™接口简化了I/O口的扩展。当微控制器或芯片组没有足够的 I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。

目录

简介  分类:硬件/嵌入开发 开发/核心开发   每个GPIO端口可通过分别配置成输入或输出。Maxim的GPIO产品线包括8端口至28端口的GPIO,提供推挽式输出或漏极开路输出。提供微型3mm x 3mm QFN封装。
  

gpio

优点  GPIO的优点(端口扩展器)   
  

gpio

低功耗:GPIO具有更低的功率损耗(大约1μA,μC的工作电流则为100μA)。   集成IIC从机接口:GPIO内置IIC从机接口,即使在待机模式下也能够全速工作。   小封装:GPIO器件提供最小的封装尺寸 ― 3mm x 3mm QFN!   低成本:您不用为没有使用的功能买单!   快速上市:不需要编写额外的代码、文档,不需要任何维护工作!   灵活的灯光控制:内置多路高分辨率的PWM输出。   可预先确定响应时间:缩短或确定外部事件与中断之间的响应时间。   更好的灯光效果:匹配的电流输出确保均匀的显示亮度。   布线简单:仅需使用2条就可以组成IIC总线或3条组成SPI总线。   于ARM 的几组GPIO引脚,功能相似,GPxCON 控制引脚功能,GPxDAT用于读写引脚数据。另外,GPxUP用于确定是否使用上拉电阻。 x为A,B,,H/J,   没有上拉电阻。寄存器  1. GPxCON 寄存器   用于配置引脚功能。 Configure   PORT A 与 PORTB~PORT H/J 在功能选择上有所不同,GPACON 中每一位对应一根引脚,共 23 个引脚。当某位被设为 0 时候,其为 输出引脚。此时我们可以再GPADAT 中相应的写入 1或者 0 来让此引脚输出高电平或者低电平。   一般而言 GPACON 通常被设为 1 ,以便访问外部器件。   PORTB~PORT H/J   在寄存器操作方面完全相同,GPxCON 中 每两位控制一根引脚,   00 输入 01 输出   10 特殊功能 11 保留不用   2. GPxDAT 寄存器   GPxDAT用于读写引脚,当引脚被设为输入时候,读此寄存器可知道相应引脚的电平状态高还是低,当引脚被设为输出时候,写此寄存器的位,可令引脚输出高电平还是低电平。   3. GpxUP寄存器   GpxUP寄存器某位为1的时候,相应管脚没有上拉电阻;为 0 时候 相应管脚有上拉电阻。   上拉电阻作用在于,当GPIO 引脚处于第三种状态时候,既不是输出高电平,也不是输出低电平。而是呈现高阻态,相当于没有接芯片。它的电平状态由上下拉电阻决定。
扩展阅读:
  • 1

    Gpio的初始化在文件gpio_drv.c里,可以用MTK提供的工具配置也可以用代码在程序里直接操作,二者的选择要看有没有定义宏__CUST_NEW__

  • 2

    工具初始化时要注意配置codegen.dws,该文件里配置的只是对gpio口的初始化,并不是所有的gpio口都要设置成工作时的模式,尤其是当作时钟和蓝牙部分的gpiio口,初始化时就设置成工作模式的话会造成电机电流过大的。

  • 3

    代码初始化时DRV_WriteReg()、DRV_Reg对gpio口寄存器操作,分别定义gpio口的模式,和方向(0:输入;1:输出),对单个gpio口操作用到以下函数(以gpio25为例):

  • 4

    GPIO_ModeSetup(25, 0); 设置GPIO25为模式0

  • 5

    GPIO_InitIO(1,25); 初始化GPIO25方向为输出

  • 6

    GPIO_WriteIO(0, 25 ); 设值GPIO25输入低电平0

阅读(1750) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~