//通过查找 GPIO_TypeDef 结构体可以看到typedef struct{__IO uint32_t CRL;//端口配置低寄存器__IO uint32_t CRH;//端口配置高寄存器__IO uint32_t IDR;//端口输入数据寄存器__IO uint32_t ODR;//端口输出数据寄存器__IO uint32_t BSRR;//端口置位/复位寄存器__IO uint32_t BRR;//端口位清除寄存...
GPIO_InitTypeDefGPIO_InitStructure;//初始化结构体GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//设置输出模式,这里设置的是推挽输出/* GPIO主要有以下八种输入输出模式GPIO_Mode_AIN = 0x0, //模拟输入GPIO_Mode_IN_FLOATING = 0x04, //浮空输入GPIO_Mode_IPD = 0x28, //下拉输入GPIO_Mode_IPU = 0x...
首先来看一下GPIO_Init函数的原型void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)。这个函数的实现是在Stm32f10x_gpio.c文件中,若要使用该函数在相应的应用程序的前面包含Stm32f10x_gpio.h头文件。 1、参数GPIO_TypeDef 该函数的第一个参数为GPIO_TypeDef,它是一个结构体类型,该类型...
登录后复制typedefenum{ GPIO_Mode_AIN =0x0,// 模拟输入GPIO_Mode_IN_FLOATING =0x04,// 输入浮空GPIO_Mode_IPD =0x28,// 输入下拉GPIO_Mode_IPU =0x48,// 输入上拉GPIO_Mode_Out_OD =0x14,// 开漏输出GPIO_Mode_Out_PP =0x10,// 推挽式输出GPIO_Mode_AF_OD =0x1C,// 开漏复用功能GPIO_Mod...
在STM32 HAL库中,GPIO_TypeDef是一个结构体类型,它定义了GPIO(General Purpose Input/Output)端口的所有寄存器。这些寄存器用于控制GPIO端口的模式(输入、输出、复用功能等)、输出类型(推挽输出、开漏输出等)、输出速度、上拉/下拉电阻配置等。通过操作这些寄存器,开发者可以实现对GPIO引脚的各种控制。 3. 列出GPIO_Ty...
typedef struct{uint16_t GPIO_Pin; // 用于选择待初始化的IO口引脚。GPIOSpeed_TypeDef GPIO_Speed; // 设置IO口的输出速度。GPIOMode_TypeDef GPIO_Mode; // 设置IO口的工作模式,提供8种选择。} GPIO_InitTypeDef;其中,GPIO_Pin参数可以设置为无引脚被选中(GPIO_Pin_None)、选中特定引脚(如GPIO_Pin_n...
typedef struct{uint16_t GPIO_Pin;// GPIO引脚,可以是GPIO_Pin_0~GPIO_Pin_15GPIOMode_TypeDef GPIO_Mode;// GPIO模式,如输入、输出、复用等GPIOSpeed_TypeDef GPIO_Speed;// GPIO速度,仅在输出模式下有效}GPIO_InitTypeDef; GPIO_Pin:指定要配置的GPIO引脚,可以是GPIO_Pin_0到GPIO_Pin_15。可以用|运算符...
GPIO的基本电路结构如下: 2.1 基本部件 1)保护二极管 芯片的引脚电平0~3.3V,部分引脚可以5V,超过5V,将会对芯片造成损害。 如上图 ① 标识,主要是保护芯片免受外部输入电平过高或者过低的影响,进而保护整个芯片。 其原理为: 当输入电压高于VDD_FT,上面二极管导通,使得电压最大为VDD_FT ...
在之前针对STM32的GPIO相关API函数及配置使用进行了详细的介绍,GPIO作为输入引脚时,调用相关读信号引脚函数接口就可以在程序的循环中,轮询的对输入信号进行读取检测操作,除了轮询的方式访问输入引脚,还可以通过另外一种叫做外部中断的方式来对引脚的输入信号进行检测,本篇首先介绍下EXTI的结构,接着介绍外部中断的相关概念...