LORA-B1 按键控制

lora 电子创客营 740次浏览 已收录 0个评论 扫描二维码

本节主要实现Lora-B1板上按键输入检测,控制led亮灭,目的也是为了不熟悉stm32的童鞋更加快速熟悉基本的开发流程。而对于比较熟悉的同学可以略过此章节部分。

开发环境准备:

硬件:

  • Lora-B1开发板一块
  • DAPLINK(或STLINK、Jlink)调试器

软件:

  • stm32cubemx
  • MDK5

硬件原理图:

LED连接到stm32的PF1引脚,KEY连接到PF0引脚。

LORA-B1 按键控制
LORA-B1 按键控制

软件配置:

打开stm32cubemx,型号选择stm32f030F4。配置PF1为输出,并取名为LED,配置PF0为输入,并取名为KEY。

LORA-B1 按键控制

当然这样还没有完,从原来图可以看出来我们的KEY接在引脚和GND之间,但是和引脚相连的地方并没有加外部上拉。所以在软件里面我们要设置PF0为带上拉输入模式。

LORA-B1 按键控制

其他请参考第一节的配置,生成mdk工程。

代码实现:

代码实现比较简单,用keystate状态来代表按键状态,这样通过状态机的处理也很容易进行按键滤波。

 
while (1)
{
    uint8_t tstate=HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin);
    switch(keyState)
    {
      case 0:
        if(tstate==GPIO_PIN_RESET)keyState=1;
        break;
      case 1:
        if(tstate==GPIO_PIN_RESET)
        {
          HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
          keyState=2;
        }
        else keyState=0;
        break;
      case 2:
        if(tstate==GPIO_PIN_SET)keyState=0;
        break;
    }
    HAL_Delay(10);
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */
}

转载请注明转自电子创客营:LORA-B1 按键控制! 了解我们点击这里

微信扫一扫关注我们的公众号:eemaker

LORA-B1 按键控制


喜欢 (2)or分享 (0)
电子创客营
关于作者:

您必须 登录 才能发表评论!