STM32 GPIO 总结 操作步骤: 1. 使能 GPIO 对应的外设时钟 例如://使能 GPIOA、GPIOB、GPIOC 对应的外设时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB| RCC_APB2Periph_GPIOC , ENABLE); 2. 声明一个 GPIO_InitStructure 结构体 例如: GPIO_InitTypeDef GPIO_InitStructure; 3. 选择待设置的 GPIO 管脚 例如:/* 选择待设置的 GPIO 第 7、8、9 管脚位 ,中间加“|”符号 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9; 4. 设置选中 GPIO 管脚的速率 例如:/* 设置选中 GPIO 管脚的速率为最高速率 2MHz */ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; //最高速率 2MHz 5. 设置选中 GPIO 管脚的模式 例如:/* 设置选中 GPIO 管脚的模式为开漏输出模式*/ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; //开漏输出模式 6. 根据 GPIO_InitStructure 中指定的参数初始化外设 GPIOX STM32 GPIO 总结 例如:/* 根据 GPIO_InitStructure 中指定的参数初始化外设 GPIOC */ GPIO_Init(GPIOC, &GPIO_InitStructure); 7.其他应用 例: 将端口 GPIOA 的第 10、15 脚置 1(高电平) GPIO_SetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15); 例:将端口 GPIOA 的第 10、15 脚置 0(低电平) GPIO_ResetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15); GPIO寄存器: 寄存器 描述 CRL 端口配置低寄存器 CRH 端口配置高寄存器 IDR 端口输入数据寄存器 ODR 端口输出数据寄存器 BSRR 端口位设置 /复位寄存器 BRR 端口位复位寄存器 LCKR 端口配置锁定寄存器 STM32 GPIO 总结 EVCR 事件控制寄存器 MAPR 复用重映射和调试 I/O 配置寄存器 EXTICR 外部中断线路0-15配置寄存器 GPIO库函数: 函数名 描述 GPIO_DeInit 将外设GPIOx寄存器重设为缺省值 GPIO_AFIODeInit 将复用功能(重映射事件控制和EXTI设置)重设为缺省值 GPIO_Init 根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器 GPIO_StructInit 把GPIO_InitStruct中的每一个参数按缺省值填入 GPIO_ReadInputDataBit 读取指定端口管脚的输入 GPIO_ReadInputData 读取指定的GPIO端口输入 GPIO_ReadOutputDataBit 读取指定端口管脚的输出 GPIO_ReadOutputData 读取指定的GPIO端口输出 GPIO_...