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种复用选择,可以连接到其他外设
本文来自博客园,作者:JsDakey,转载请注明原文链接:https://www.cnblogs.com/helloszy/p/15413225.html