GPIO寄存器及工作模式/F4

发布时间 2023-08-16 18:33:09作者: Yannnnnnn

GPIO寄存器(general-purpose I/O port)(registers)

GPIO port mode register GPIOx_MODER 端口模式 MODERy[1:0]

00:input //输入( 默认)

01:general purpose output mode //通用输出

10:alternate function mode // 复用

11:analog mode //模拟

GPIO port output type register  GPIOx_OTYPER 输出类型 OTy

0:output push-pull //推挽 输出(默认)

1:output open-drain//开漏输出

GPIO port output speed register GPIOx_OSPEEDR 输出速度 OSPEEDRy[1:0]

00 low

01 medium

10 fast

11 high

GPIO port pull-up/pull-down register GPIOx_PUPDR 上下拉 PUPDy[1:0]

00 no pull-up pull-down

01 pull-up

10 pull-down

11 Rrserved

GPIO port input data register GPIOx_IDR 输入数据寄存 IDRy read-only
GPIO port output data register GPIOx_ODR 输出数据寄存 ODRy  
GPIO port bit set/reset register GPIOx_BSRR 置位/复位 ODR

BRy

BSy

BRy = 0  //no action on ODR

BRy = 1 //reset ODR

BSy = 0 //no action on ODR

BSy = 1 //set ODR

BS 优先 BR

GPIO port configuration lock register GPIOx_LCKR 端口配置锁定    
GPIO alternate function low register GPIOx_AFRL 复用功能低位

PIN 0~7

AFRLy [3:0]

0000: AF0

~

1111:AF15

GPIO alternate function high register GPIOx_AFRH 复用功能高位

PIN 8~15

AFRHy [3:0]

0000: AF0

~

1111:AF15

GPIOA_MODER 初始值 0xA800 0000

GPIOB_MODER 初始值 0x0000 0280

GPIOA_OSPEEDR 初始值 0x0C00 0000

GPIOB_OSPEEDR 初始值 0x0000 00C0

GPIOA_PUPDR 0x6400 0000

GPIOB_PUPDR 0x0000 0100

 GPIO工作模式设置

GPIOx_MODER/端口模式/MODERy[1:0] GPIOx_OSPEEDR/输出速度OSPEEDRy[1:0] GPIOx_OTYPER/输出类型/OTy GPIOx_PUPDR/上下拉/PUPDy[1:0] I/O configuration
工作模式
 
00  /Input (reset state)/输入模式 x x 00 No pull up down Floating Input 浮空输入
01 Pull up PU Input 上拉输入
10 Pull down PD Input 下拉输入
 
01 /General purpose output mode/通用输出

00 low

01 medium

10 fast

11 high

0 output push-pull/推挽 00 PP 推挽输出
01 PP PU 推挽上拉输出
10 PP PD 推挽下拉输出
1 output open-drain/开漏 00 OD 开漏输出
01 OD PU 开漏上拉
10 OD PD 开漏下拉
 
10 /Alternate function mode/复用输出

00 low

01 medium

10 fast

11 high

0 output push-pull 00 AF PP 复用推挽
01 AF PP PU 复用推挽上拉
10 AF PP PD 复用推挽下拉
1 output open-drain 00 AF OD 复用开漏
01 AF OD PU 复用开漏上拉
10 AF OD PD 复用开漏下拉
 

11 /Analog mode/模拟

x x 00 Analog IO 模拟输入输出