第一步,使用RCC开启GPIO的时钟 第二步,使用GPIO_Init函数初始化GPIO 第三步,使用输出或者输入的函数控制GPIO口 这里总共涉及了RCC和GPIO两个外设,首先需了解这两个外设有哪些库函数,Library中可以找到rcc.h这个文件和gpio.h文件,进去后就能找到相应的库函数(Library就是放置官方库函数的文件夹) MDK中文件 RCC库函...
GPIO是通用输入输出引脚,它是STM32芯片上的数字接口,可以被软件配置为输入或输出,在连接外部设备时发挥重要作用。它们可以使用寄存器级操作进行配置和控制,因此具有灵活性和可编程性。 STM32F103ZET6 芯片是 144 脚的芯片,具有 GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF 和 GPIOG 七组 GPIO 口,共有 112 个 ...
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); GPIO_InitStruct:结构体的指针参数,用于对该结构体进行初始化。在调用该函数之前,必须先定义并分配内存空间给GPIO_InitTypeDef 结构体变量。该结构体是用于配置 GPIO端口的一种数据类型,包含了各种控制引脚模式、输入/输出方向、输出速度和上拉/下拉等属性的...
1 void GPIO_Init(GPIO_TypeDef*GPIOx, GPIO_InitTypeDef*GPIO_InitStruct); 功能描述: 根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器 输入参数1:GPIOx//GPIOx:x 可以是 A,B,C,D 或者 E,来选择 GPIO 外设 输入参数2:GPIO_InitStruct//GPIO_InitStruct:指向结构 GPIO_InitTypeDef 的指针,包含了外设...
每个GPIO端口都有两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH) ,两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR),一个32位置位/ 复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR),一个32位锁定寄存器(GPIOx_LCKR)。每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节...
GPIOTogglePin功能 gpioinit,以STM32F103为例,记录一下自己对STM32中GPIO初始化的理解: 1voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);功能描述:根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器输入参数1:GPIOx输入参数2:GPIO_In
GPIO_InitStruct.Mode = GPIO_Mode_IN; // 输入模式GPIO_InitStruct.Mode = GPIO_Mode_OUT; // 输出模式GPIO_InitStruct.Mode = GPIO_Mode_AF; // 复用模式 如果是输出模式,还需要选择引脚的类型,通常有推挽输出和开漏输出两种类型。GPIO_InitStruct.Mode = GPIO_Mode_OUT; // 输出模式GPIO_InitStruct....
GPIO全称General Purpose Input Output ,即通用输入/输出。其实GPIO的本质就是芯片的一个引脚,通常在ARM中所有的I/O都是通用的。不过,由于每个开发板上都会设计不同的外围电路,这就造成了GPIO的功能可能有所不同。大部分GPIO都是有复用功能的,比如有些GPIO可能是串口的
(2)、void GPIO_Init(GPIO_TypeDefGPIOx, GPIO_InitTypeDefGPIO_InitStruct);** 作用:将GPIO端口引脚进行功能状态初始化。 举例:将GPIOA的pin1引脚设为普通输出功能,IO驱动速率可达50MHz,推挽模式,带上拉电阻。 gpio_InitStruct.GPIO_Pin = GPIO_Pin_1;gpio_InitStruct. GPIO_Mode = GPIO_Mode_OUT;gpio_Ini...