GPIO功能描述-y.doc

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GPIO功能描述-y.doc

通用和复用功能I/O 3.1 概述 STM32F10x系列有着丰富的端口可供使用,有26/37/51/80/112个多功能双向5V兼容的快速I/O口,所有I/O口可以映像到16个外部中断。每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器GPIOx_IDR,GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。GPIO端口的每个位可以由软件分别配置成多种模式。 ─ 输入浮空 ─ 输入上拉 ─ 输入下拉 ─ 模拟输入 ─ 开漏输出 ─ 推挽式输出 ─ 推挽式复用功能 ─ 开漏复用功能 每个I/O端口位可以自由编程,I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。 图3-1-1给出了一个I/O端口位的基本结构。 图3-1-1 I/O端口位的基本结构 3.1.1 通用I/O(GPIO) 复位期间和复位后,复用功能未开启,I/O端口被配置成浮空输入模式。复位后,JTAG引脚被置于输入上拉或下拉模式: ─ PA15:JTDI置于上拉模式 ─ PA14:JTCK置于下拉模式 ─ PA13:JTMS置于上拉模式 ─ PB4: JNTRST置于上拉模 当I/O脚作为输出配置时,写到输出数据寄存器上的值(GPIOx_ODR)输出到相应的I/O引脚。可以以推挽模式或开漏模式(当输出0时,只有N-MOS被打开)使用输出驱动器。 输入数据寄存器(GPIOx_IDR)在每个APB2时钟周期捕捉I/O引脚上的数据。所有GPIO引脚都有一个内部弱上拉和弱下拉,当配置为输入时,它们可以被激活也可以被断开。 3.1.2单独的位设置或位清除 当对GPIOx_ODR的个别位编程时,软件不需要禁止中断:在单次APB2写操作里,可以只更改一个或多个位。这是通过对“置位/复位寄存器”(GPIOx_BSRR,复位是 GPIOx_BRR)中想要更改的位写’1’来实现的。没被选择的位将不被更改。 3.1.3 外部中断/唤醒线 所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。更多的关于外部中断的信息,参考:外部中断/事件控制器章节介绍 3.1.4复用功能(AF) 使用默认复用功能前必须对端口位配置寄存器编程。对于复用的输入功能,端口必须配置成输入模式(浮空、上拉或下拉)且输入管脚必须由外部驱动;对于复用输出功能,端口必须配置成复用功能输出模式(推挽或开漏);对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。这时,输入驱动器被配置成浮空输入模式。 如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。 如果软件把一个GPIO脚配置成复用输出功能,但是外设没有被激活,它的输出将不确定。 3.1.5软件重新映射I/O复用功能 为了使不同器件封装的外设I/O功能的数量达到最优,可以把一些复用功能重新映射到其他一些脚上。这可以通过软件配置相应的寄存器来完成(参考AFIO寄存器描述)。这时,复用功能就不再映射到它们的原始引脚上了。 3.1.6 GPIO锁定机制 锁定机制允许冻结IO配置。当在一个端口位上执行了锁定(LOCK)程序,在下一次复位之前,将不能再更改端口位的配置。这主要用在一些关键引脚的配置上,防止程序跑飞引起灾难性后果,如在配置驱动功率模块的配置上,应该使用锁定机制以冻结IO口配置,即使程序跑飞,也不会改变这些引脚的配置。 3.1.7 输入配置 当I/O端口配置为输入时,在图3-1-1 I/O端口位的基本结构图中,会有以下变化: 1. 输出缓冲器被禁止 ; 2. 施密特触发输入被激活; 3. 根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接 ; 4. 出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器 ; 5. 对输入数据寄存器的读访问可得到I/O状态。 3.1.8输出配置 当I/O端口被配置为输出时,在图3-1-1 I/O端口位的基本结构图中,会有以下变化: 1. 输出缓冲器被激活 : -- 开漏模式:输出寄存器上的’0’激活 N-MOS,而输出寄存器上的’1’将端口置于高阻状态(P-MOS从不被激活)。 -- 推挽模式:输出寄存器上的’0’激活 N-MOS,而输出寄存器上的’1’将激活

您可能关注的文档

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档