GPIO输出控制PB0

第一步 首先在cubeMX中创建工程,找到引脚PB0,将其作用选为Output,创建代码;

第二步 端口使能,将GPIOB端使能,RCC->IOPENR |= 1<<1;

第三步 寄存器初始化,对GPIO_InitTypeDef 类型的结构体GPIO_InitStruct中的变量进行赋值

__GPIO_RCC_GPIOB_CLK_ENABLE(); //将GPIOB的时钟使能

GPIO_InitStruct.Pin=LED_Pin; //配置使用的GPIO引脚

GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;//推挽输出

GPIO_InitStruct.Pull=GPIO_InitStruct.Pull = GPIO_NOPULL;//上下拉不配置

GPIO_InitStruct.Spees=GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;//控制输出速度

或是直接对GPIOB进行操作

GPIOB->MODER |= 1<<0

GPIOB->OTYPER |= ~(1<<0)

GPIOB->OSPEEDR |= 1<<1

GPIOB->PUPDR |= 1<<0

第四步 控制引脚高低电平

HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)

GPIOx是GPIO组,GPIO_Pin是具体引脚,PinSate是输出的高低电平

或是用

HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)

GPIOx是GPIO组,GPIO_Pin是具体引脚

该函数是将引脚的输出状态翻转,如高电平到低电平,实现控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值