0

0

0

修罗

站点介绍

只有了解事实才能获得真正的自由

GPIO(二)相关寄存器

修罗 2025-08-18 617 5条评论 stm32

首页 / 正文

GPIO(二)相关寄存器

与GPIO相关的7个寄存器

每个GPIO端口有7个相关的寄存器:

  • 2个32位配置寄存器(GPIOx_CRL,GPIOx_CRH);
  • 2个32位数据寄存器(GPIOx_IDR和GPIOx_ODR);
  • 1个32位置位/复位寄存器(GPIOx_BSRR);
  • 1个16位复位寄存器(GPIOx_BRR);
  • 1个32位锁定寄存器(GPIOx_LCKR);

1.1 GPIOx_CRL(端口配置低寄存器)

GPIOx_CRL(Port configuration register low),x可以是A-G。

image-20250818164454630.png

该寄存器配置的每个GPIO的 0-7 这个8个位,所以叫低寄存器。

1.1.1 MODE:每个端口有2个MODE位进行控制。

00:输入模式(复位后的状态)

01:输出模式,最大速度10MHz

10:输出模式,最大速度2MHz

11:输出模式,最大速度50MHz

1.1.2 CNF:每个端口有2个CNF位进行控制。

  1. 当MODE是00 (输入模式)

    00:模拟输入模式

    01:浮空输入模式(复位后的状态)

    10:上拉/下拉输入模式

    11:保留

  2. 当MODE>00(输出模式)

    00:通用推挽输出模式

    01:通用开漏输出模式

    10:复用功能推挽输出模式

    11:复用功能开漏输出模式

1.2 GPIOx_CRH(端口配置高寄存器)

GPIOx_CRH(Port configuration register high)。该寄存器配置的是每个端口的 8-15引脚,配置方式和低位寄存器完全一样。

1.3 GPIOx_IDR(端口输入数据寄存器)

Port input data register

image-20250818164811131.png

保留位始终读为0。剩下的分别对应每个引脚的输入值。

1.4 GPIOx_ODR(端口输出数据寄存器)

Port output data register

image-20250818164850565.png

保留位始终读为0。剩下的分别对应每个引脚的输出值。

1.5 GPIOx_BSRR(端口位设置清除寄存器)

Port bit set/reset register

image-20250818164936316.png

  1. 高16位是用清除对应的数据输出寄存器的位(0-15)的值:设置为0不影响,设置为1会清除ODR对应的位的值(置为0)。
  2. 低16位是用设置对应的数据输出寄存器的位(0-15)的值:设置为0不影响,设置为1会设置ODR对应的位的值(置为1)。

1.6 GPIOx_BRR(端口位清除寄存器)

这个寄存器具有了GPIOx_BSRR一半的功能:清除

image-20250818165104145.png

1.7 GPIOx_LCKR(端口配置锁定寄存器)

Port configuration lock register

image-20250818165134219.png

​ 该寄存器用来锁定端口位的配置。位[15:0]用于锁定GPIO端口的配置。在规定的写入操作期间,不能改变LCKR[15:0]。当对相应的端口位执行了LOCK序列后,在下次系统复位之前将不能再更改端口位的配置。

每个锁定位锁定控制寄存器(CRL,CRH)中相应的4个位(CNF2位和MODE2位)

​ 第16位用来激活锁定寄存器,必须按照规定的时序来操作才行: 写1 -> 写0 -> 写1 -> 读0 -> 读1。

​ 对0-15位:

  • 0:不锁定对应端口的配置。
  • 1:锁定对应端口的配置。

评论(5)

  1. 1 游客 2025-09-01 11:26 回复

    1

  2. 1 游客 2025-09-01 12:00 回复

    1

  3. 1 游客 2025-09-01 12:01 回复

    1

  4. 1 游客 2025-09-01 12:04 回复

    1

  5. 1 游客 2025-09-01 12:05 回复

    -1 OR 2+557-557-1=0+0+0+1


最新评论

  • 1

    1

  • 1

    1

  • -1' OR 2+158-158-1=0+0+0+1 or 'TKCTZnRa'='

    1

  • 1

    1

  • 1

    1

  • 1

    1

  • 1

    1

  • @@5Qa2D

    1

  • 1

    1

  • 1

    1

日历

2025年09月

 123456
78910111213
14151617181920
21222324252627
282930    

文章目录

推荐关键字: Linux webpack js 算法 MongoDB laravel JAVA jquery javase redis