void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 功能:设置某个IO口为高电平(可同时设置同一端口的多个IO)。底层是通过配置BSRR寄存器。 void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 功能:设置某个IO口为低电平(可同时设置同一端口的多个IO)。底层是通过配置BSRR寄存器。
GPIO_PIN_0, GPIO_PIN_RESET);/*Configure GPIO pin Output Level */HAL_GPIO_WritePin(GPIOG, GPIO_PIN_6|GPIO_PIN_7, GPIO_PIN_RESET);/*Configure GPIO pin : PB0 */GPIO_InitStruct.Pin = GPIO_PIN_0;
if(PinState != GPIO_PIN_RESET){GPIOx->BSRR = GPIO_Pin;}else{GPIOx->BSRR = (uint32_t)GPIO_Pin <<16u;}} 这段代码是 HAL 库中的 HAL_GPIO_WritePin 函数的实现。该函数用于设置指定 GPIO 引脚的输出电平。 让我们逐行分析代码的功能和操...
2. 使用库函数:利用库函数来设置GPIO引脚的输出状态。例如,通过STM32标准外设库中的GPIO_Init函数初始化GPIO引脚,并调用GPIO_SetBits和GPIO_ResetBits函数来设置GPIO引脚输出高电平或低电平。3. 使用CubeMX生成代码:利用STM32CubeMX(一个基于图形界面环境的软件工具)生成初始化代码。生成的代码可以使...
CR寄存器的设置既可直接对寄存器进行位操作,也可以通过调用库函数进行操作。 1. 直接操作寄存器 为了便于对寄存器进行位操作,在头文件stm32f10x.h(以F103ZET6标准库为例,HAL库中对应的头文件为stm32f103xe.h)中定义了大量的宏、枚举类和结构体,来实现与寄存器地址的映射。以GPIOA为例,从上到下的映射关系为: ...
// 设置GPIO端口号为6GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;// 设置端口模式为推挽输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;// 设置输出速率为50MHz// 初始化GPIO_Init(GPIOB,&GPIO_InitStructure);// 输出高电平GPIO_SetBits(GPIOB,GPIO_Pin_6);// 输出低电平GPIO_ResetBits(GPIOB,...
HAL_GPIO_WritePin(GPIOB, LED_G_Pin|LED_B_Pin, GPIO_PIN_SET);对应GPIO_SetBits(LED1_GPIO_PORT, LED1_GPIO_PIN);GPIO_SetBits(LED2_GPIO_PORT, LED2_GPIO_PIN); 三、GPIO输入 3.1 参数配置 在System Core中选择GPIO设置。 在右边图中找到按键对应引脚,选择GPIO_Input。
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);对应GPIO_Init(LED2_GPIO_PORT, &GPIO_InitStructure); HAL_GPIO_WritePin(GPIOB, LED_G_Pin|LED_B_Pin, GPIO_PIN_SET);对应GPIO_SetBits(LED1_GPIO_PORT, LED1_GPIO_PIN);GPIO_SetBits(LED2_GPIO_PORT, LED2_GPIO_PIN); ...
MODERy[1:0]:端口 x 配置位 (Port x configuration bits) (y = 0..15) 这些位通过软件写入,用于配置 I/O 方向模式。 00:输入(复位状态) 01:通用输出模式 10:复用功能模式 11:模拟模式 GPIOx_OTYPER和GPIOx_OSPEEDR寄存器分 别用于选择输出类型(推挽或开漏)和速度 (无论采用哪种 I/O 方向,都会直接...
1#ifndef __BSP_GPIO_LED_H__2#define__BSP_GPIO_LED_H__34#include"mm32_device.h"5#include"hal_conf.h"67//GPIOA LED1端口宏定义8#defineLED1_PORT GPIOA9//GPIOA LED1管脚宏定义10#defineLED1_PIN GPIO_Pin_71112//GPIOA PA7输出低电平 LED1 ON13#defineLED1_ON() GPIO_ResetBits(LED1...