BSRR:Bit Set/Reset Register,设置复位寄存器,用于对GPIO数据输出进行调制,通过只用调制BSRR来处理16位的GPIO接口输出。BSRR的低16位用于进行设置,高16位用于清除,即低16位在设置之后,会将GPIO的对应数据设置为1;高16位在设置之后,会将GPIO的对应数据设置为0。 故可看如下的HAL库GPIO输出转置的设置: voidHAL_GPIO...
GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。下图给出了一个I/O端口位的基本结构。 通常有5种方式使用某个引脚功能,它们的配置方式如下: 1、作为普通GPIO输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该...
GPIO对应的寄存器个数为7个,包括2 个 32位端口配置寄存器(CRL 和 CRH)、2 个 32 位端口数据寄存器(IDR 和 ODR)、1 个 32 位端口置位/复位寄存器(BSRR)、1 个 16 位端口复位寄存器(BRR)、1 个 32 位端口锁定寄存器 (LCKR)。下面将一一介绍。
GPIO对应的寄存器个数为7个,包括2 个 32位端口配置寄存器(CRL 和 CRH)、2 个 32 位端口数据寄存器(IDR 和 ODR)、1 个 32 位端口置位/复位寄存器(BSRR)、1 个 16 位端口复位寄存器(BRR)、1 个 32 位端口锁定寄存器 (LCKR)。下面将一一介绍。 3.1 2 个 32位端口配置寄存器(CRL 和 CRH) 作用:用来配...
GPIO工作模式寄存器 端口输出数据寄存器(ODR) 该寄存器用于控制 GPIOx 的输出高电平或者低电平 端口置位/复位寄存器(BSRR) BSRR寄存器配置 该寄存器也用于控制 GPIOx 的输出高电平或者低电平 区别:首先 BSRR 是只写权限,而 ODR 是可读可写权限。 ODR寄存器,我们要设置某个 IO口电平,我们首先需要读出来 ODR 寄存器...
GPIOx_CRLGPIOx_CRH,(2)两个32位数据寄存器 GPIOx_IDR:输入数据寄存器,读取端口引脚的电平状态。GPIOx_ODR:输出数据寄存器,设置端口引脚的电平状态。(3)一个32位置位/复位寄存器:GPIOx_BSRR 用于设置或复位端口引脚的电平。(4)一个16位复位寄存器:GPIOx_BRR 用于复位端口引脚的电平。(5)一个32位...
而如果需要对输出电平信号进行原子操作,可以通过下图中“置位/复位寄存器GPIOx_BSRR”修改输出数据寄存器的值从而改变GPIO的输出。该寄存器是只写寄存器,通过写入 “置位/复位寄存器GPIOx_BSRR”状态,可分别对 “输出数据寄存器GPIOx_ODR” 进行置位和复位。
GPIOx_BSRR 一个16位复位寄存器 GPIOx_BRR 一个32位锁定寄存器 GPIOx_LCKR 六,STM32-IO口相关寄存器讲解 1,端口配置寄存器: STM32每组GPIO位16个IO口,每4位控制一个IO口,所以32位控制8个IO口 分为低16位:GPIOx_CRL和高16位:GPIOx_CRH共32位控制一组GPIO的16个IO口 xa0xa0 xa0 如图:以端口配置寄...
GPIOB->BSRR = 0x01就是把GPIOB port 0升为高电平\r\nGPIOB->BRR = 0x01就是把GPIOB port 0降为低电平\r\nGPIOB->BSRR = 0x02就是把GPIOB port 1升为高电平\r\nGPIOB->BRR = 0x02就是把GPIOB port 1降为低电平\r\nGPIOB->BSRR = 0x04就是把GPIOB port 2升为高电平\r\...