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_Init函数配置了GPIOA引脚0为输入模式,并启用了上拉电阻;配置了GPIOA引脚1为推挽输出模式,没有内部电阻。然后,在主循环中,我们使用GPIO_ReadInputPin读取GPIOA引脚0的输入电平,并使用GPIO_ControlOutputPin控制GPIOA引脚1的输出电平。 通过配置GPIO引脚的模式、速度、上/下拉电阻和输出类...
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这一组的。
(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的寄存器 32位配置寄存器:GPIOx_CRL,GPIOx_CRH 32位数据寄存器:GPIOx_IDR,GPIOx_ODR 32位置位/复位寄存器:GPIOx_BSRR 16位复位寄存器:GPIOx_BRR 32位锁定寄存器:GPIOx_LCKR GPIOx_CRL :端口配置低寄存器 (控制P0--P7端口) 一个IO位占4个位(4*8=32)P0--P7刚好32位,例如:P0端口:0-1控制输入...
引脚(PIN):对应微控制器的一个管脚,归属于端口,由端口寄存器的对应位控制。 PA0,属于端口 GPIOA,输出电平由端口 GPIOA 的输出数据寄存器 GPIOA_ODR 的第 0 位决定。 4 GPIO 电路 5 GPIO 工作模式 输入模式:浮空输入/上拉输入/下拉输入 浮空输入:按键识别 ...
GPIO_PinSource:指需配置的复用功能引脚源,可选范围GPIO_PinSource0 ~GPIO_PinSource15。 GPIO_AF:指该引脚具体需要配置的功能,具体配置功能要看实际应用需求,例如需要配置成SPI1功能的引脚,那么就选GPIO_AF_SPI1。 2、函数接口 下面就对具体的函数接口进行逐个的介绍。由于使用的是STM32的标准库,GPIO 相关的函...
(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...