Day9:GPIO 输入输出控制(上)

输出控制方法:
HAL_GPIO_WritePin(GPIOx, Pin, State):设置指定引脚电平
HAL_GPIO_TogglePin(GPIOx, Pin):翻转指定引脚电平
寄存器直接操作:GPIOx->ODR |= Pin(置高),&= ~Pin(置低),^= Pin(翻转)
输入读取方法:
HAL_GPIO_ReadPin(GPIOx, Pin):读取指定引脚电平 (0/1)
寄存器直接操作:GPIOx->IDR & Pin
LED 流水灯实例:
c
运行
int main(){
  GPIO_InitTypeDef GPIO_InitStruct;
  __HAL_RCC_GPIOA_CLK_ENABLE();
  
  // 配置PA0-PA3为推挽输出
  GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  
  while(1){
    for(int i=0; i<4; i++){
      HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0<<i, GPIO_PIN_SET); // 点亮当前LED
      HAL_Delay(200);
      HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0<<i, GPIO_PIN_RESET); // 熄灭当前LED
    }
  }
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值