void LED_Init(void){RCC->APB2ENR|=1<<4; //使能时钟 PORTCGPIOC->CRL&=0XFFF0FFFF;//PC4 配置位清零GPIOC->CRL|=0X00030000;//PC4 推挽输出GPIOC->ODR|=1<<4; //PC4 输出高电平,熄灭。等价于 GPIOC->ODR |=0X10;}intmain(){GPIOC->BSRR =0x10;//设置对应的 ODRy 位为1,给高电平-...
#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位置...
在输出模式时施密特触发器是打开的,即输入可用,通过输入数据寄存器 GPIOx_IDR可读取 I/O 的实际状态。 3.复用功能(推挽/开漏):复用功能模式中,输出使能,输出速度可配置,可工作在开漏及推挽模式,但是输出信号源于其它外设,输出数据寄存器 GPIOx_ODR 无效;输入可用,通过输入数据寄存器可获取 I/O 实际状态,但一般直...
#define GPIOG_BASE (APB2PERIPH_BASE + 0x2000) //GPIOG基地址 #define GPIOx_CRL (GPIOx_BASE + 0X00) //端口配置低寄存器 #define GPIOx_CRH (GPIOx_BASE + 0X04) //端口配置高寄存器 #define GPIOx_IDR (GPIOx_BASE + 0X08) //端口输入数据寄存器 #define GPIOx_ODR (GPIOx_BASE + 0X0...
1,端口配置寄存器: STM32每组GPIO位16个IO口,每4位控制一个IO口,所以32位控制8个IO口 分为低16位:GPIOx_CRL和高16位:GPIOx_CRH共32位控制一组GPIO的16个IO口 xa0xa0 xa0 如图:以端口配置寄存器低16位为例,每四位控制一个IO口(高16位同理) MODEx的2位xa0:xa0配置IO口输出/输出模式(1种输出+...
一、GPIO功能描述 每个GPIO端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH) ,两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR) ,一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。 GPIO端口的每个位可以由软件分别配置成多种模式。
一、GPIO寄存器介绍 1. GPIO简介 GPIO是STM32微控制器上的一组引脚,可配置为输入或输出模式,用于与外部设备进行数字信号交换。每个GPIO引脚都有一个唯一的编号,通常称为引脚名称或引脚号码。STM32系列微控制器通常具有多个GPIO引脚,数量取决于具体型号。GPIO模块是STM32微控制器中非常重要的功能之一,它允许微控制...
GPIOC->CRL = 0x33333333; // 配置低八位引脚为推挽输出模式 GPIOC->CRH = 0x33333333; // 配置高八位引脚为推挽输出模式 5. 开启时钟 在 STM32 中,每个外设都需要时钟信号来工作,在使用外设之前需要先打开对应外设的时钟。RCC 寄存器中的 RCC_APB2ENR 用于控制 APB2 总线上的外设时钟使能。寄存器...