STM32F4外设驱动系列之GPIO

GPIO常用相关寄存器

MODER:GPIO端口模式控制寄存器(GPIOx_MODER)(x = A..I)
OTYPER:GPIO端口输出类型寄存器(GPIOx_OTYPER)(x = A..I)
OSPEEDR:GPIO端口输出速度寄存器(GPIOx_OSPEEDR)(x = A..I)
PUPDR:GPIO端口上拉/下拉寄存器(GPIOx_PUPDR)(x = A..I)
IDR:GPIO端口输入数据寄存器(GPIOx_IDR)(x = A..I)
ODR:GPIO端口输出数据寄存器(GPIOx_ODR)(x = A..I)
AFRH/AFRL:GPIO复用功能高/低位寄存器(GPIOx_AFRH/GPIOx_AFRL)(x = A..I)

寄存器具体详情可查看STM32F4xx参考手册。

GPIO初始化函数与参数

GPIO初始化函数:HAL_GPIO_Init()

HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)

GPIO初始化参数结构体:GPIO_InitTypeDef

typedef struct
{
  uint32_t Pin;      
  uint32_t Mode;     
  uint32_t Pull;    
  uint32_t Speed;   
  uint32_t Alternate;
}GPIO_InitTypeDef

函数与结构体具体实现可参见HAL库源代码。

GPIO初始化实例

//初始化PA0端口
void GPIO_Init(void)
{
	GPIO_InitTypeDef	GPIO_Initure;							//GPIO初始化结构体
	__HAL_RCC_GPIOA_CLK_ENABLE();								//开启GPIOA时钟
	
	GPIO_Initure.Pin = GPIO_PIN_0;								//PA0
	GPIO_Initure.Mode = GPIO_MODE_INPUT;						//输入
	GPIO_Initure.Pull = GPIO_PULLDOWN;							//下拉
	GPIO_Initure.Speed = GPIO_SPEED_HIGH;						//高速
	HAL_GPIO_Init(GPIOA, &GPIO_Initure);
}

GPIO引脚的参数需根据实际应用情况进行设置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值