单片机
返回首页

STM32的IO口配置

2018-08-15 来源:eefocus

   每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。

   GPIO端口的每个位可以由软件分别配置成多种模式。

1、输入浮空

2、输入上拉 

3、输入下拉

4、模拟输入

5、开漏输出

6、推挽式输出

7、推挽式复用功能 

8、开漏复用功能

 每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。


IO结构图


端口配置表


输出模式位

当I/O端口配置为输入时:

1、输出缓冲器被禁止 

2、施密特触发输入被激活

3、根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接

4、出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器 

5、对输入数据寄存器的读访问可得到I/O状态

当I/O端口被配置为输出时:

1、输出缓冲器被激活 

2、开漏模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将端口置于高阻状态(PMOS从不被激活)。 
  推挽模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将激活P-MOS。

3、 施密特触发输入被激活 

4、弱上拉和下拉电阻被禁止

5、出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器

6、在开漏模式时,对输入数据寄存器的读访问可得到I/O状态 

7、在推挽式模式时,对输出数据寄存器的读访问得到最后一次写的值 


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 光控音效发生器电路

  • 如何利用ESP8266制作一个简单的四轴飞行器

  • 离子检测器电路分析

  • 一个简单的警笛电路图

  • 分享一个电网倾角计电路

  • 使用NE555和磁簧开关的橱柜照明电路

    相关电子头条文章