//GPIO通用设置//GPIOx:GPIOA~GPIOI.//BITx:0X0000~0XFFFF,位设置,每个位代表一个IO,第0位代表Px0,第1位代表Px1,依次类推.比如0X0101,代表同时设置Px0和Px8.//MODE:0~3;模式选择,0,输入(系统复位默认状态);1,普通输出;2,复用功能;3,模拟输入.//OTYPE:0/1;输出类型选择,0,推挽输出;1,开漏输出./...
1、1. 使能GPIO的AHB时钟,使用函数:RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE);2.配置GPIO工作模式用GPIO_Init()函数数据类型说明typedef structuint32_t GPIO_Pin;GPIOMode_TypeDef GPIO_Mode;(备用) ,GPIO_Mode_AN(模拟)/ 引脚配置 /GPIO_Mode_IN(输入 ),GPIO_Mode_OUT(输出),GPIO_Mode_...
3、输入设置: GPIO_InitTypeDef GPIO_InitStructure; GPIO_StructInit(&GPIO_InitStructure); GPIO_InitStructure.GPIO_Speed=GPIO_Speed_25MHz; GPIO_InitStructure.GPIO_Pin= GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_13 | GPIO_Pin_14 |GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN; GPIO_InitStruc...
每个通用 I/O 端口包括 4 个 32 位配置寄存器(GPIOx_MODER、 GPIOx_OTYPER、GPIOx_OSPEEDR 和 GPIOx_PUPDR)、 2 个 32 位数据寄存器(GPIOx_IDR 和GPIOx_ODR)、 1 个 32 位置位/复位寄存器 (GPIOx_BSRR)、 1 个 32 位锁定寄存器(GPIOx_LCKR) 和 2 个 32 位复用功能选择寄存器(GPIOx_AFRH 和...
//使能GPIO所在的总线的时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); //定义该结构体 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9 |GPIO_Pin_10;//使用的IO口 (总共有16个IO口) GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT; //设置IO的模式 ...
在STM32F4微控制器上配置GPIO为输出模式通常涉及几个关键步骤。以下是详细的过程,包括代码示例: 1. 确定STM32F4的GPIO端口和引脚 首先,你需要确定要使用哪个GPIO端口和引脚。例如,我们假设使用GPIOA的第5引脚(即PA5)。 2. 配置GPIO为输出模式 为了配置GPIO为输出模式,你需要对GPIO的相应寄存器进行设置。这通常使用...
GPIO_Init();//和GPIO配置过程一样 扫描IO口电平(库函数/寄存器/位操作)。 u8 KEY_Scan(u8 mode) { static u8 key_up=1; if(mode==1) key_up=1;//支持连续按 if(key_up && KEY按下) { delay_ms(10);//延时,防抖 key_up=0;//标记这次key已经按下 ...
1.使能GPIO的AHB时钟,使用函数: RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE); 2.配置GPIO工作模式用GPIO_Init()函数 数据类型说明 typedef struct { uint32_t GPIO_Pin; //引脚配置 GPIOMode_TypeDef GPIO_Mode; //GPIO_Mode_IN(输入),GPIO_Mode_OUT(输出),GPIO_Mode_AF(备用),GPIO_Mode_...
一个端口配置锁存寄存器(GPIOx_LCKR) 两个复用功能寄存器(低位GPIOx_AFRL & GPIOx_AFRH) 每组IO口含下面10个寄存器。也就是10个寄存器,一共可以控制一组GPIO的16个IO口。 1. 端口模式寄存器(GPIOx_MODER) GPIO port mode register 2. 端口输出类型寄存器(GPIOx_OTYPER) ...