端口位设置/清除寄存器(GPIOx_BSRR) (x=A..E) 也用于控制GPIO口的输出状态,每个GPIO口占用两个比特位,第一个比特位为0时代表置位(设置为1),为1时代表复位(设置为0),第二个比特位用于选择GPIO口,当该比特位被置为1时,对应的GPIO口输出电平被控制。 位31:16BRy: 清除端口x的位y (y =0…15) (Port...
#include "sys.h" #include "usart.h" #include "delay.h" int main() { //Beep指定PB8 高电平响 //配置寄存器 RCC->APB2ENR|=1<<3;//PB时钟使能 第3位强制1 GPIOB->CRH&=0xFFFFFFF0;//强制置0 推挽输出 GPIOB->CRH|=0x00000003;//强制置1 速度50HZ GPIOB->ODR|=1<<8;//强制第8位置...
#define GPIOF_BASE (APB2PERIPH_BASE + 0x1C00) //GPIOF基地址 #define GPIOG_BASE (APB2PERIPH_BASE + 0x2000) //GPIOG基地址 #define GPIOx_CRL (GPIOx_BASE + 0X00) //端口配置低寄存器 #define GPIOx_CRH (GPIOx_BASE + 0X04) //端口配置高寄存器 #define GPIOx_IDR (GPIOx_BASE + 0...
在输出模式时施密特触发器是打开的,即输入可用,通过输入数据寄存器 GPIOx_IDR可读取 I/O 的实际状态。 3.复用功能(推挽/开漏):复用功能模式中,输出使能,输出速度可配置,可工作在开漏及推挽模式,但是输出信号源于其它外设,输出数据寄存器 GPIOx_ODR 无效;输入可用,通过输入数据寄存器可获取 I/O 实际状态,但一般直...
PUPD[1:0]:上拉/下拉配置:00:无上拉/下拉01:上拉10:下拉11:保留 这些值一般在使用寄存器编程需要用到,使用库函数时直接使用系统定义的宏来设置,一般定义如下:GPIO_Mode_IN:输入模式,用于将GPIO引脚配置为输入模式。GPIO_Mode_OUT:输出模式,用于将GPIO引脚配置为输出模式。GPIO_Mode_AF:复用模式,...
GPIOx_CRHxa0高16位 两个32位数据寄存器 GPIOx_IDRxa0输入数据寄存器 GPIOx_ODRxa0输出数据寄存器 一个32位置位/复位寄存器 GPIOx_BSRR 一个16位复位寄存器 GPIOx_BRR 一个32位锁定寄存器 GPIOx_LCKR 六,STM32-IO口相关寄存器讲解 1,端口配置寄存器: STM32每组GPIO位16个IO口,每4位控制一个IO口,所以32...
GPIOC->CRL = 0x33333333; // 配置低八位引脚为推挽输出模式 GPIOC->CRH = 0x33333333; // 配置高八位引脚为推挽输出模式 5. 开启时钟 在 STM32 中,每个外设都需要时钟信号来工作,在使用外设之前需要先打开对应外设的时钟。RCC 寄存器中的 RCC_APB2ENR 用于控制 APB2 总线上的外设时钟使能。寄存器...
一、GPIO功能描述 每个GPIO端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH) ,两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR) ,一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。 GPIO端口的每个位可以由软件分别配置成多种模式。