6) GPIO 端口输出数据寄存器 (GPIOx_ODR) (x = A..I) GPIOport outputdataregister 偏移地址:0x14 复位值:0x00000000 7) GPIO 端口置位/复位寄存器 (GPIOx_BSRR) (x = A..I) GPIOportbitset/resetregister 偏移地址:0x18 复位值:0x00000000 8) GPIO 端口配置锁定寄存器 (GPIOx_LCKR) (x = A..I)...
GPIO_Mode_IN =0x00,//普通IO口输入GPIO_Mode_OUT =0x01,//普通IO口输出GPIO_Mode_AF =0x02,//管脚复用功能GPIO_Mode_AN =0x03//模拟输入,用于ADC功能}GPIOMode_TypeDef; (c)、GPIO的输出速度频率:当GPIO引脚用于普通功能输出或复用功能输出时,GPIO的输出速度频率,可选的输出速率如下。 登录后复制typedef...
GPIO_SetBits(GPIOA,GPIO_Pin_0); }else{ GPIO_ResetBits(GPIOA,GPIO_Pin_0); } }//读取PA0端口的LED状态,进行翻转操作voidLED2_Turn(void){if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2) ==0){ GPIO_SetBits(GPIOA,GPIO_Pin_2); }else{ GPIO_ResetBits(GPIOA,GPIO_Pin_2); } }//读取PA2端...
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); ③设置一组IO口为高电平 void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ④设置一组IO口为低电平 void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ⑤设置一个IO口为高或低电平 void GPIO_WriteBit(GPIO_TypeDef...
(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; ...
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); GPIOx :一个指向 GPIO_TypeDef 类型结构体的指针,表示要被初始化的GPIO端口(如GPIOA、GPIOB等)。 GPIO_InitStruct:一个指向 GPIO_InitTypeDef类型结构体的指针,表示要应用于指定GPIO端口的配置信息。该结构体成员变量有GPIO引脚号,GPIO...
下面记录GPIO输出库函数: 1、函数RCC_APB2PeriphClockCmd /* 函数名:RCC_APB2PeriphClockCmd 函数原型:void RCC_APB2PeriphClockCmd(u32 RCC_APB2Periph,FunctionalState NewState) 功能描述:使能或失能APB2外设时钟 输入参数1:RCC_APB2Periph *---* 门控APB2外设时钟,外设时钟可以取以下一个或多个取值: RCC...
图1 GPIO应用设计 二、API函数 STM32有多种类型的库,本节所介绍的STM32的GPIO函数接口是STM32标准库的函数接口,接口总共分为4种类型,如图2所示。 图2 GPIO库函数接口分类 1、关键参数 在详细介绍各个API函数接口功能之前,我们需要对函数接口中使用到的关键的几个参数进行分析。
输入模式:GPIO x 输入上拉 GPIOx_CRL |= Clear_BIT(GPIO_Mode_IPU, PINx_BIT); GPIOx_ODR |= SET_BIT(PINx_BIT); 输入模式:GPIO x 输入下拉 GPIOx_CRL |= Clear_BIT(GPIO_Mode_IPD, PINx_BIT); GPIOx_ODR |= CLEAR_BIT(PINx_BIT);输出模式: ...