ENABLE);// 配置结构体GPIO_InitStructureGPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;// 设置GPIO端口号为5GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;// 设置端口模式为推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_
第1步:配置库函数GPIO_Init的入参1,选择GPIO外设是GPIOA。 第2步:配置库函数GPIO_Init的入参2,选择GPIO管脚是GPIO_Pin_8。 第3步:配置库函数GPIO_Init的入参2,选择最大输出速率是GPIO_Speed_50MHZ。 第4步:配置库函数GPIO_Init的入参2,选择GPIO管脚工作状态是GPIO_Mode_Out_PP。 库函数版本代码清单: P...
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_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE); 这就完成了IO口的配置和重映射,下边再配置相关的外设(USART1)就可以使用了。 外部中断线也是可以映射的,并且需要开AFIO时钟,不用GPIO_PinRemap函数,用GPIO_EXTILin...
#define LED4_GPIO_CLK RCC_APB2Periph_GPIOB /* GPIO端口时钟 */ #define LED4_GPIO_PIN GPIO_Pin_6 /* 连接到SCL时钟线的GPIO */ #define LED5_GPIO_PORT GPIOB /* GPIO端口 */ #define LED5_GPIO_CLK RCC_APB2Periph_GPIOB /* GPIO端口时钟 */ ...
#defineSPI_MISO_GPIO_PORT GPIOA#defineSPI_MISO_GPIO_MODE GPIO_Mode_AF_PP#defineSPI_MISO_GPIO_SPEED GPIO_Speed_50MHz#defineSPI_MISO_GPIO_PIN GPIO_Pin_6 #defineSPI_NSS_GPIO_PORT GPIOA#defineSPI_NSS_GPIO_MODE GPIO_Mode_Out_PP#defineSPI_NSS_GPIO_SPEED...
selected */#define GPIO_PIN_MASK0x0000FFFFu/* PIN mask for assert test */ 他们都定义在<STM32F1xx_hal_gpio.H>中,我们可以得知,enum是一个枚举类型,后面的参数都是前一个参数代表的值+1,如果首个参数不初始化默认为0,否则以初始化的值开始+1,每个值都可以初始化,并以初始化的值为准。这样我们就...
该代码意图写入GPIOB端口,其中第6和第8号引脚被设置或激活。简而言之,它在GPIOB端口的第6和第8个...
• 开启时钟 GPIO工作需要提供时钟信号,在初始化结构体之前需要将时钟打开 • 配置结构体成员 GPIO_Pin是想要配置的IO,GPIO_Speed,通常写GPIO_Speed_50MHz,GPIO_Mode是IO的工作模式 • 写入配置 GPIO的工作模式在程序中有定义 登录后复制typedefenum{ GPIO_Mode_AIN =0x0,// 模拟输入GPIO_Mode_IN_FLOATING...
selected */#define GPIO_PIN_MASK0x0000FFFFu/* PIN mask for assert test */ 他们都定义在<STM32F1xx_hal_gpio.H>中,我们可以得知,enum是一个枚举类型,后面的参数都是前一个参数代表的值+1,如果首个参数不初始化默认为0,否则以初始化的值开始+1,每个值都可以初始化,并以初始化的值为准。这样我们就...