STM32关于GPO与AFIO的总结0709.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STM32关于GPO与AFIO的总结0709

GPIO功能描述 每个GPI/O 端口有两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR 和GPIOx_ODR),一个32位置位/ 复位寄存器(GPIOx_BSRR) ,一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR) 。 根据数据手册中列出的每个I/O 端口的特定硬件特征, GPIO 端口的每个位可以由软件分别配置成多种模式。 ─ 输入浮空 ─ 输入上拉 ─ 输入下拉 ─ 模拟输入 ─ 开漏输出 ─ 推挽式输出 ─ 推挽式复用功能 ─ 开漏复用功能 每个I/O 端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问( 不允许半字或字节访问) 。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/ 更改的独立访问;这样,在读和更改访问之间产生IRQ 时不会发生危险。 推挽与开漏 推挽输出:可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止. 开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内). 单独的位设置或位清除 当对GPIOx_ODR 的个别位编程时,软件不需要禁止中断:在单次APB2写操作里,可以只更改一个或多个位。 这是通过对“置位/ 复位寄存器”(GPIOx_BSRR ,复位是 GPIOx_BRR) 中想要更改的位写’1’ 来实现的。没被选择的位将不被更改。 外部中断/唤醒线 所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。 复用功能(AF) 使用默认复用功能前必须对端口位配置寄存器编程。 ● 对于复用的输入功能,端口必须配置成输入模式(浮空、上拉或下拉)且输入引脚必须由外部驱动 注意: 也可以通过软件来模拟复用功能输入引脚,这种模拟可以通过对GPIO控制器编程来实现。此时,端口应当被设置为复用功能输出模式。显然,这时相应的引脚不再由外部驱动,而是通过GPIO控制器由软件来驱动。 ● 对于复用输出功能,端口必须配置成复用功能输出模式(推挽或开漏)。 ● 对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。这时,输入驱动器被配置成浮空输入模式。 如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。 如果软件把一个GPIO脚配置成复用输出功能,但是外设没有被激活,它的输出将不确定。 输入配置 当I/O 端口配置为输入时: ● 输出缓冲器被禁止 ● 施密特触发输入被激活 ● 根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接 ● 出现在I/O 脚上的数据在每个APB2时钟被采样到输入数据寄存器 ● 对输入数据寄存器的读访问可得到I/O 状态 输出配置 当I/O 端口被配置为输出时: ● 输出缓冲器被激活 ─ 开漏模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将端口置于高阻状态(P-MOS从不被激活)。 ─ 推挽模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将激活P-MOS。 ● 施密特触发输入被激活 ● 弱上拉和下拉电阻被禁止 ● 出现在I/O 脚上的数据在每个APB2时钟被采样到输入数据寄存器 ● 在开漏模式时,对输入数据寄存器的读访问可得到I/O 状态 ● 在推挽式模式时,对输出数据寄存器的读访问得到最后一次写的值。 复用功能配置 当I/O 端口被配置为复用功能时: ● 在开漏或推挽式配置中,输出缓冲器被打开 ● 内置外设的信号驱动输出缓冲器(复用功能输出) ● 施密特触发输入被激活 ● 弱上拉和下拉电阻被禁止 ● 在每个APB2时钟周期,出现在I/O 脚上的数据被采样到输入数据寄存器 ● 开漏模式时,读输入数据寄存器时可得到I/O 口状态 ● 在推挽模式时,读输出数据寄存器时可得到最后一次写的值。 一组复用功能I/O 寄存器允许用户把一些复用功能重新映象到不同的引脚。 模拟输入配置 当I/O 端口被配置为模拟输入配置时: ● 输出缓冲器被禁止; ● 禁止施密特触发输入,实现了每个模拟I/O 引脚上的零消耗。施密特触发输出值被强置为’0’ ; ● 弱上拉和下拉电阻被禁止; ● 读取输入数据寄存器时数值为’0’ 。 复用功能I/O 和调试配置(AFIO) 为了优化64脚或100 脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。设置复

文档评论(0)

canggu808866 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档