03 GPIO的配置和应用 通用功能 浮空输入 该模式常应用于按键检测。 #define KEY1_PIN GPIO_Pin_8#define KEY1_GPIO_PORT GPIOA#define KEY1_GPIO_CLK RCC_AHB1Periph_GPIOAvoidGPIO_Init(void){/*定义一个GPIO_InitTypeDef类型的结构体*/GPIO_InitTypeDefGPIO_InitStructure;/*开启相关的GPIO外设时钟*/RCC_AHB...
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;之后还有几个配置如 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_GPIO_InitStructure.GPIO_Mode = GPIO_Mode_等若干几句之后,会有 GPIO_Init(GPIOA, &GPIO_InitStructure);这一句中GPIOA就是说以上的配置中是GPIOA这一组的。
在上述代码中,我们首先使用GPIO_Init函数配置了GPIOA引脚0为输入模式,并启用了上拉电阻;配置了GPIOA引脚1为推挽输出模式,没有内部电阻。然后,在主循环中,我们使用GPIO_ReadInputPin读取GPIOA引脚0的输入电平,并使用GPIO_ControlOutputPin控制GPIOA引脚1的输出电平。 通过配置GPIO引脚的模式、速度、上/下拉电阻和输出类...
2:GPIO_Pin_x:选中管脚x(0--15) 3:GPIO_Pin_All:选中全部管脚 • GPIO_Speed 用以设置选中管脚的速率。 1:GPIO_Speed_10MHz:最高输出速率10MHz 2:GPIO_Speed_2MHz:最高输出速率2MHz 3:GPIO_Speed_50MHz:最高输出速率50MHz • GPIO_Mode 用以设置选中管脚的工作状态。 1:GPIO_Mode_AIN:模拟输入...
(1)模拟I2C使用开漏输出_OUT_OD,接上拉电阻,能够正确输出0和1;读值时先GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以读IO的值;使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0); (2)如果是无上拉电阻,IO默认是高电平;需要读取IO的值,可以使用带上拉输入_IPU和浮空输入_IN_FLOATING和开漏输出_OUT_OD; ...
ST专门给STM32编制了一个函数库,所有的函数库设置你只需要调用函数库的函数就好。如果你英语还说得过去的话,看着函数库就可以基本不用去每一位对寄存器了,牺牲了效率,但是非常非常的方便。至于使用起来,也非常简单,比如你要用GPIO,你就把STM32F10X_GPIO.C加到你的工程文件中去,然后在你在程序...
GPIO_InitTypeDef GPIO_InitStruct; // 开启RCC时钟,非常关键 RCC_APB2PeriphClockCmd(LED_R_GPIO_CLK | LED_G_GPIO_CLK | LED_B_GPIO_CLK, ENABLE); // 配置初始化结构体,传入具体参数 GPIO_InitStruct.GPIO_Pin = LED_G_GPIO_PIN; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; ...
在STM32微控制器中,GPIO(General Purpose Input/Output)引脚是微控制器与外部世界进行交互的关键接口。下面,我将基于你的要求,详细解释STM32的GPIO引脚如何对应到物理引脚,并提供一个使用GPIO引脚的示例。 1. 确定STM32的具体型号 STM32系列微控制器包含多种型号,每种型号的GPIO引脚数量和布局可能有所不同。因此,...
void GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //对应GPIO所在的总线时钟必须打开 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1; //哪个GPIO口 ...