STM32——KEY按键

一、基础工程

1. 查看引脚

B1~B4 对应引脚 为 PB0,PB1,PB2,PA0。按键按下后,接入低电平;抬起后为高电平。

2. CubeMX配置

4个对应引脚配置成 GPIO_Input。

3. 所用HAL库函数

GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
{
  GPIO_PinState bitstatus;

  /* Check the parameters */
  assert_param(IS_GPIO_PIN(GPIO_Pin));

  if ((GPIOx->IDR & GPIO_Pin) != 0x00U)
  {
    bitstatus = GPIO_PIN_SET;
  }
  else
  {
    bitstatus = GPIO_PIN_RESET;
  }
  return bitstatus;
}

功能:读取引脚电平状态

参数说明:    

GPIOx:端口号 GPIOA,GPIOB,GPIOC    

GPIO_Pin:引脚号 GPIO_PIN_0,GPIO_PIN_1,GPIO_PIN_2 ...

返回值:    

GPIO_PinState PinState:引脚的状态 GPIO_PIN_SET , GPIO_PIN_RESET

4. 编写Key_Scan()函数

uint8_t Key_Scan(void)
{
 uint8_t key_val=0;
//PB0
 if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0)==GPIO_PIN_RESET)
 {
 key_val=1;
 }
//PB1
 if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)==GPIO_PIN_RESET)
 {
 key_val=2;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值