21-10-14_STM32_GPIO_2

一、每组GPIO端口的寄存器

以下均为32位寄存器

1.端口模式寄存器(MODER)

2.端口输出类型寄存器(OTYPER)

3.端口输出速度寄存器(OSPEEDER)

4.上下拉寄存器(PUPDR)

【以上为配置寄存器】

5.输入数据寄存器(IDR)

6.输出数据寄存器(ODR)

【以上为数据寄存器】

7.端口置位/复位寄存器(BSRR)

8.配置锁存寄存器(LCKR)

9.两个复用功能寄存器(低位AFRL和高位AFRH)

二、GPIO寄存器的配置

1.端口模式寄存器(MODER)

共32位,每两位配置一个IO口,所以共有16组

每组IO口四个模式

00,浮空输入模式(复位状态)

01,通用输出模式

10,复用功能模式

11,模拟模式

2.端口输出类型寄存器(OTYPER)

可用低16位,高16位保留,用来配置推挽或者开漏输出
0,推挽输出(复位状态)
1,开漏输出

3.端口输出速度寄存器(OSPEEDER)

同1.相似
00低速2M,01中速25M,10快速50M,11高速100M

4.上下拉寄存器(PUPDR)

00无上拉或

低16位有效,输入是1还是0会写入对应寄存器位,如PA端的IDR读最低位是1,则说明PA0输入为1。注意这些位只能是只读

6.输出数据寄存器(ODR)

低16位有效,每位控制一个IO口,置1输出高电平,置0输出低电平

7.端口置位/复位寄存器(BSRR)

作用相似于ODR寄存器,分高16位和低16位,这些位只写。低16位置1则输出高电平(称为置位),而输入0则其状态不受影响;低16位置1输出低电平(称为复位),输入0不影响

8.配置锁存寄存器(LCKR)

低17位有效,前16位对应每一个IO口,第十七位是锁存位(置1激活,置0不激活);前16位0未锁定,1锁定

9.两个复用功能寄存器(低位AFRL和高位AFRH)

两个寄存器共64个位,每个IO口用四个位控制,所以一个IO口有16种复用选择,可以连接到其他外设

posted @ 2021-10-16 00:05  JsDakey  阅读(91)  评论(0)    收藏  举报