GPIOport outputdataregister 偏移地址:0x14 复位值:0x00000000 7) GPIO 端口置位/复位寄存器 (GPIOx_BSRR) (x = A..I) GPIOportbitset/resetregister 偏移地址:0x18 复位值:0x00000000 8) GPIO 端口配置锁定寄存器 (GPIOx_LCKR) (x = A..I) GPIO port configurationlockregister 当正确的写序列应用到第1...
登录后复制typedefstruct{uint32_tGPIO_Pin;//GPIO端口的引脚GPIOMode_TypeDef GPIO_Mode;//GPIO的端口模式GPIOSpeed_TypeDef GPIO_Speed;//GPIO的输出速度频率GPIOOType_TypeDef GPIO_OType;//GPIO输出时的类型GPIOPuPd_TypeDef GPIO_PuPd;//GPIO上下拉电阻设置}GPIO_InitTypeDef; (a)、GPIO端口的引脚:可选范围为...
GPIOx :其中x可以(A..G取决于所使用的设备)来选择GPIO外设 GPIO_Pin :指定要写入的端口位。此参数可以是GPIO_PIN_x之一,其中x可以是( 0..15 )。 PinState :指定要写入选定位的值。此参数可以是GPIO_PinState枚举值之一: lGPIO_PIN_RESET:清除端口Pin,低电平 lGPIO_PIN_SET:设置端口Pin,高电平 例子: ...
HAL_GPIO_WritePin(LED_GPIO_PORT,LED_PIN,GPIO_PIN_SET); //延时一定时间 HAL_Delay(1000); //控制LED输出低电平 HAL_GPIO_WritePin(LED_GPIO_PORT,LED_PIN,GPIO_PIN_RESET); ``` 以上代码通过`HAL_GPIO_WritePin`函数实现了对LED引脚的输出电平控制,从而实现LED的闪烁效果。 3.2控制GPIO输入状态 可以通过...
(a)、GPIO端口的引脚:可选范围为GPIO_Pin_0~GPIO_Pin_15,也可以选所有引脚GPIO_Pin_All。 (b)、GPIO的端口模式:用于设置GPIO的端口模式,可选的端口模式如下。 AI检测代码解析 typedef enum { GPIO_Mode_IN = 0x00, //普通IO口输入 GPIO_Mode_OUT = 0x01, //普通IO口输出 ...
#define StepMotor_HIGH HAL_GPIO_WritePin(StepMotor_GPIO,StepMotor_GPIO_PIN,GPIO_PIN_SET) // 输出高电平 #define StepMotor_LOW HAL_GPIO_WritePin(StepMotor_GPIO,StepMotor_GPIO_PIN,GPIO_PIN_RESET) // 输出低电平 #define StepMotor_TOGGLE HAL_GPIO_TogglePin(StepMotor_GPIO,StepMotor_GPIO_PIN) /...
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); ③设置一组IO口为高电平 void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ④设置一组IO口为低电平 void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
if(HAL_GPIO_ReadPin(Button_GPIO_PORT,Button_PIN)==GPIO_PIN_SET){ //按钮被按下 }else{ //按钮未被按下 } ``` 04 中断控制 通过HAL库可以方便地配置GPIO中断,并实现相应的中断处理函数。以下是一个简单的中断配置的例子: 4.1初始化中断 ```c ...
(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//读端口的电平值 // 返回的是一个GPIO_PinState的值,0/1 typedef enum { GPIO_PIN_RESET = 0u, GPIO_PIN_SET } GPIO_PinState; /***/ 位带操作 位带操作(bit-banding)是一种通过特殊内存映射技术,直接对存储器(包括寄存器)中的某个位进行读写...
HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_SET); // 延时一段时间 // 熄灭LED HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_RESET); // 延时一段时间 } } ``` 2. GPIO输入控制示例 ```c #include "stm32f4xx.h" #define BUTTON_PIN GPIO_PIN_0 ...