GPIO:(General-purpose input/output)通用型之输入输出.
使用该功能需要使能RCC和配置GPIO的配置
(调用库:STM32F10x_StdPeriph_Lib_V3.5.0)
1.使能外部时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
扩展:
AHB: (Advanced Hight Bus) 高级高性能总线 挂载基础/性能笔记较高的外设.SDIO/复位/RCC
APB: (Advanced Peripheral Bus) 先进外围总线 挂载一般外设
APB2:一般和AHB同频率,性能高于APB1.挂载:ADC1-3/USART1/SPI1/TIM18/GPIOA-G/EXT/AFIO
APB1:挂载:DAC/QWR/BKP/USB/I2C12 ...
![](https://img.haomeiwen.com/i4875198/31d0d9b9bdbb33c9.png)
2.配置GPIO
GPIO_InitTypeDef gpio_initStructure;//GPIO_INIT结构体
gpio_initStructure.GPIO_Mode = GPIO_Mode_Out_PP;//模式
gpio_initStructure.GPIO_Pin = GPIO_Pin_13;//pin脚
gpio_initStructure.GPIO_Speed = GPIO_Speed_50MHz;//速度
GPIO_Init(GPIOC, &gpio_initStructure);
扩展:
GPIO_Mode: 输入
GPIO_Mode_IN_FLOATING:浮空输入 引脚悬空,电平可高可低不稳定 (内接上拉电阻A和下拉电阻B)
GPIO_Mode_IPU:上拉输入 引脚悬空,高电平(内接上拉电阻A)
GPIO_Mode_IPD:下拉输入 引脚悬空,低电平(内接下拉电阻B)
GPIO_Mode_AIN:模拟输入 GPIO模式无效 引脚直接接入内部ADC(Analog-to-Digital Converter)
GPIO_Mode: 输出
GPIO_Mode_Out_PP:推挽输出 可输入高低电平 且具有驱动能力 内接VDD / VSS
GPIO_Mode_Out_OD:开漏输出 可输入高低电平 高电平高阻,无驱动能力,低电平接VSS
GPIO_Mode_AF_PP:复用推挽输出 片上外设控制
GPIO_Mode_AF_OD:复用开漏输出 片上外设控制
3.设置
//低电平
GPIO_ResetBits(GPIOC, GPIO_Pin_13);
GPIO_WriteBit(GPIOC, GPIO_Pin_13, Bit_RESET);
GPIO_Write(GPIOC, portVal); //参数同寄存器配置
//高电平
GPIO_SetBits(GPIOC, GPIO_Pin_13);
GPIO_WriteBit(GPIOC, GPIO_Pin_13, Bit_SET);
GPIO_Write(GPIOC, portVal);//参数同寄存器配置
网友评论