找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7922|回复: 3
打印 上一主题 下一主题
收起左侧

STM32F103 GPIO学习总结

[复制链接]
跳转到指定楼层
楼主
ID:82083 发表于 2015-6-6 21:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  每个通用IO口都有两个32位的配置寄存器(GPIOx_CRL, GPIOx_CRH),两个32位的数据寄存器 (GPIOx_IDR, GPIOx_ODR), 一个32位的set/reset寄存器 (GPIOx_BSRR),一个16位的reset寄存器(GPIOx_BRR),一个32位的锁定寄存器(GPIOx_LCKR).
  每个general purpose  io口都可以独立配置为以下八种模式的其中一种,浮空输入,上拉输入,下拉输入,模拟输入,开漏输出,推挽输出,复用开漏输出,复用推挽输出。
  每个io口都可以独立配置,但是寄存器只能32位的访问,不支持半个字的访问和位访问,GPIOx_BSRR和GPIOx_BRR寄存器允许对任何gpio寄存器的读和修改独立访问,这样,在读和修改访问之间产生IRQ时不会有风险。
   stm32的io口是3.3V的但兼容5V输入,在3.3V供电的stm32芯片中,要输出5V电平,只需将io口配置为开漏输出然后接上拉电阻即可。
   复位后stm32的io口默认为浮空输入模式 (CNFx[1:0]=01b, MODEx[1:0]=00b). JATG管脚为上拉或下拉模式,
PA15: JTDI 上拉 PA14: JTCK 下拉 PA13: JTMS 上拉 PB4: JNTRST 上拉 。
  当配置为输出模式时被写入输出数据寄存器 (GPIOx_ODR) 里的值在管脚上输出,可能用推挽输出和开漏输出(输出低电平时仅NMOS使能)。
  在每个APB2时钟下 Input Data register (GPIOx_IDR) 捕获io口的状态。
  每个GPIO口内部有弱上拉电阻和弱下拉电阻,输入时可选使能。
  
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

板凳
ID:82083 发表于 2015-6-8 01:21 | 只看该作者
    如果配置一个引脚为复用功能输出,将断开输出寄存器与引脚的连接,并将引脚与片内外设连接。
    如果配置一个引脚为复用功能,但片内外设没有工作,那么引脚的输出是不确定的。
    IO的重映射:为了使不同封装的外设的io功能数量达到最优,可以把一些引脚的复用功能重映射到其他引脚上,这是通过软件配置相应寄存器来实现的。这时原引脚就没有这些功能了。
   GPIO锁定系统:GPIO锁定系统允许io的配置被冻结,当一个端口执行锁定程序,在下一次复位之前,不能更改端口位的配置。
  输入配置:当io口被配置为输入模式时,输出缓冲器被禁止,施密特触发器输入使能,内部弱上拉电阻和下拉电阻使能或不取决与输入配置(上拉,下拉,或浮空),每个APB2周期io口的状态都会被采样到 Input Data Register ,访问 Input Data Register 可以知道io口状态。
  输出配置:当io口被配置为输出模式时,开漏模式时输出0使能NMOS,输出1将使端口进入高阻抗状态(PMOS不被激活),施密特触发输入被激活,弱上拉下拉电阻被禁用,每个APB2周期io口的状态都会被采样到 Input Data Register ,访问 Input Data Register 可以知道io口开漏输出模式的状态,访问 Output Data register可以获得最后一个在推挽输出模式输出的值。
   复用功能配置:当io口被配置为复用功能,开漏输出和推挽输出时输出缓冲器打开,内置外设信号驱动输出缓冲器(复用功能输出),施密特触发输入使能,弱上拉下拉电阻被禁用,每个APB2周期io口的状态都会被采样到 Input Data Register ,访问 Input Data Register 可以知道io口开漏输出模式的状态,访问 Output Data register可以获得最后一个在推挽输出模式输出的值。
   启动复用功能寄存器允许你将复用放入功能映射到其他的引脚。
   模拟输入配置:当io口被配置为模拟输入模式,输出缓冲器被禁止,施密特触发器禁用使模拟输入的io口0消耗,施密特触发器的输出置零,访问 Input Data Register 得到零。
回复

使用道具 举报

沙发
ID:77095 发表于 2015-6-7 16:18 | 只看该作者
谢谢分享,拷走了,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表