STM32端口相关寄存器

STM32端口寄存器

在做项目的时候,有事要临时的改变端口的输入输出或者其他状态,这个时候如果用库操作显得繁琐,代码量大,如果直接操作寄存器,则简单快捷干净。STM32寄存器如下:

端口模式寄存器(GPIOx_MODER):每IO口两位
1 MODERy[1:0]:(y=0…15)
2 00:输入(复位状态)
3 01:通用输出模式
4 10:复用功能模式
5 11:模拟模式

端口输出类型寄存器(GPIOx_OTYPER):每IO口一位,高16位不用
1 OTy[1:0]:(y=0…15)
2 0:输出推挽(复位状态)
3 1:输出开漏

端口输出速度寄存器(GPIOx_OSPEEDR):每IO口两位
1 OSPEEDRy[1:0]:(y=0…15)
2 00:2MHz
3 01:25MHz
4 10:50MHz
5 11:100MHz

端口上拉下拉寄存器(GPIOx_PUPDR):
1 PUPDRy[1:0]:(y=0…15)
2 00:无上拉或下拉
3 01:上拉
4 10:下拉
5 11:保留

端口输入数据寄存器(GPIOx_IDR):
1 IDRy[15:0]:(y=0…15)
2 端口输入数据

端口输出数据寄存器(GPIOx_ODR):
1 ODRy[15:0]:(y=0…15)
2 端口输出数据

端口置位复位寄存器(GPIOx_BSRR):
1 BRy[15:0]:位31:16
2 0:不会对相应的ODRx位执行任何操作
3 1:对相应的ODRx位进行复位
4
5 BSy[15:0]:位15:0
6 0:不会对相应的ODRx位执行任何操作
7 1:对相应的ODRx位进行置位
8 同时对BSx和BRx置位,则BSx的优先级更高

你可能感兴趣的:(STM32端口相关寄存器)