GPIO_Init函数是IO引脚的初始化函数,进行个个引脚的初始化配置,主要接受两个参数,一个是配置引脚组(GPIO_TypeDef* GPIOx),一个是配置的参数( GPIO_InitTypeDef* GPIO_InitStruct),具体如下 voidGPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef*GPIO_InitStruct)/*其中第一个参数为那组引脚,每组拥有16个引脚,...
输入参数2:GPIO_InitStruct//GPIO_InitStruct:指向结构 GPIO_InitTypeDef 的指针,包含了外设 GPIO 的配置信息 如:管脚号,速度,模式等(GPIO_Pin,GPIO_Speed,GPIO_Mode) 参阅Section:GPIO_InitTypeDef 查阅更多该参数允许取值范围 GPIO_Init:有二个参数,均为结构体指针,右键Go To definition:可以查看函数的定义 /**...
GPIO Mode Configuration currentmode=((uint32_t)GPIO_InitStruct-》GPIO_Mode)&((uint32_t)0x0F); 可以得出currentmode=0x0000 0010 & 0x0000 000F =0x0000 0000 if (((uint32_t)GPIO_InitStruct-》GPIO_Mode) & ((uint32_t)0x10)) != 0x00) 判断是否是输出模式,“是”,执行下面代码;“否”,...
函数详解如下: 函数原型: ```c void GPIO_Init(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_InitTypeDef* GPIO_InitStruct); ``` 参数说明: *`GPIOx`:GPIO端口对象,例如GPIOA。 * `GPIO_Pin`:要初始化的引脚编号,通常为0-15。 * `GPIO_InitStruct`:一个包含初始化参数的结构体,包括输出模式、上...
STM32_GPIO_Init()函数解析在库中我们可以找到gpiopin00x0001gpiomodeoutpp0x10这里推挽输出库里面给出定义0x10真心非常巧妙对比其他7种模式可以知道bit4决定输入还是输出所以代码中有与0x10做位于运算的代码用于区分输入还是输出gpiospeed50mhz3这三个参数包含在结构体中作为函数的输入参数...
stm32之GPIO库函数开发 关于GPIO库函数的重点函数:P122 GPIO_Init() :根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器; GPIO_ReadInputDataBit():读取指定端口管脚的输入; GPIO_SetBits():设置指定的数据端口位; GPIO_ResetBits(): 清除指定的数据端口位;...
spin_lock_init(&port[i].lock); if (!initialed) /* its a serious configuration bug when it fails */ // 添加 gpio chip , 调用的是我们前面用到的一个线索函数, 该函数中有给 gpio_desc 数组赋值 BUG_ON(gpiochip_add(&port[i].chip) < 0); ...
函数声明如下: void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); GPIOx :一个指向 GPIO_TypeDef 类型结构体的指针,表示要被初始化的GPIO端口(如GPIOA、GPIOB等)。 GPIO_InitStruct:一个指向 GPIO_InitTypeDef类型结构体的指针,表示要应用于指定GPIO端口的配置信息。该结构体成员变量有...
本文为参考野火stm32教程中的GPIO_Init()函数的个人初步解析。假定:需使用的引脚为GPIOA的A3口:控制的引脚是GPIO_Pin_3,引脚的模式是 GPIO_Mode_Out_PP(通用推挽输出),引脚的速率是GPIO_Speed_10MHz,用到的寄存器是CRL(低八位)将上述的引脚、模式、速率换算成32位的16进制,分别是:控制的引脚是GPIO_Pin_3换...
重要函数详解: 1个初始化函数: void GPIO_Init(GPIO_TypeDefGPIOx,GPIO_InitTypeDefGPIO_InitStruct); 使用方式:GPIO_Init(GPIOB, &GPIO_InitStructure); 库的原理:1、先定义一个结构体,(方便多次定义端口) 上面创建一个结构体,用他来创建一个结构体:GPIO_InitTypeDef GPIO_InitStructure;2、配置结构体 将结构体...