历史上的今天
返回首页

历史上的今天

今天是:2024年12月23日(星期一)

正在发生

2020年12月23日 | STM32F103 GPIO基本原理与寄存器

2020-12-23 来源:eefocus

GPIO基本原理与寄存器配置

  1. STM32F103ZET6

    • 一共有7组IO口

    • 每组IO口有16个IO

    • 一共16X7=112个IO
      GPIOA,GPIOB—GPIOG

  2. 4种输入模式:
    输入浮空
    输入上拉
    输入下拉
    模拟输入
    4种输出模式:
    开漏输出
    开漏复用功能
    推挽式输出
    推挽式复用功能

  3. 3种最大翻转速度:
    -2MHZ
    -10MHz
    -50MHz

  4. 上电复位后,GPIO默认为浮空状态,部分特殊功能引脚为特定状态。

  5. 推挽输出:可以输出强高低电平,连接数字器件
    开漏输出:只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。

  6. 每组GPIO端口的寄存器包括:
    两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH) ,
    两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR),
    一个32位置位/ 复位寄存器(GPIOx_BSRR),
    一个16位复位寄存器(GPIOx_BRR),
    一个32位锁定寄存器(GPIOx_LCKR)。
    每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节访问) 。

  7. 每组IO口含下面7个寄存器。也就是7个寄存器,一共可以控制一组GPIO的16个IO口。
    - GPIOx_CRL :端口配置低寄存器
    - GPIOx_CRH:端口配置高寄存器
    - GPIOx_IDR:端口输入寄存器
    - GPIOx_ODR:端口输出寄存器
    - GPIOx_BSRR:端口位设置/清除寄存器
    - GPIOx_BRR :端口位清除寄存器
    - GPIOx_LCKR:端口配置锁存寄存器


推荐阅读

史海拾趣

问答坊 | AI 解惑

wince 启动拍照功能实现问题

各位,小弟想请教一下, 在wince 5.0 或6.0 中怎么启动拍照功能, 最好是用C# 的,请各位帮忙,谢谢!…

查看全部问答>

在CE6.0下,用6410平台去实现KITL功能怎么老是成功不了?三星手册是已经实现了的.

在CE6.0下,用6410平台去实现KITL功能怎么老是成功不了?三星手册是已经实现了的.…

查看全部问答>

如何进行ARM+Linux的学习?

我是一个初学者,计划学习的是基于ARM处理器的嵌入式开发,具体做一个GPS导航系统 现在是有ARM9实验箱。 现在刚刚学习,有些迷茫,现阶段是不是要详细理解s3c2410处理器的各个架构,然后再学习OS呢? 如何进行系统的学习呢? 请高手给予指点, ...…

查看全部问答>

刚来提点建议!

刚来论坛,看了看这里的资料非常多哈,建议版主分个板块专门用来放资料,技术交流的放一个板块!这样讨论问题和下载资料都会非常方便!…

查看全部问答>

关于NXP1768CAN模块的库函数

有哪位高手做过NXP1768CAN模块的库参数??求教!!!…

查看全部问答>

请高手解决 RS485 通信问题

请高手解决 RS485 通信问题,一台主机,两台从机,用作动作控制和数据获取。 开发平台都是 C8051F020, KEIL C,点对点通信均正常,联合调试动作几次后通信故障,不能从从设备获取数据。请有 RS485 网通信开发的技术人员帮助解决问题;有意者请于201 ...…

查看全部问答>

ZigBee与西门子200PLC通信?

有人用ZigBee与西门子200PLC实现通信的吗?小弟刚接触  希望各位指点一下~~~~~~~~…

查看全部问答>

430AD转换精度问题

大家好,我用430F149 AD转换后的误差在0.3V,这个在430的误差范围内吗,有真么大? 另外在中间加电压跟随会提高精度么…

查看全部问答>