(六)APP 按键的使用

BSP按键


原理:通过APP软件定时器和gpiote(IO中断)输入实现
1.先调用bsp_init初始化按键和LED灯,并提供回调函数。默认会根据按键动作(长,短按,释放等)给按键分配事件
2.bsp_btn_ble_init初始化BLE按键模块(APP按键和BLE事件关联起来,BLE按键是在APP按键封装的,如果设置了某个按键BLE事件则不能设置为APP按键)
3.功耗问题,使用gpiote port和低频时钟,也就是低精度,无法跟踪高速引脚的变化,但是对于按键来说已经足够了
4.不支持多个按键并发,只支持独立按键
5.配置,按键个数,中断优先级,使能button,不使能高精度gpiote(高精度最大8个,port则无限制),port相当于32个pin公用通道,在detect上升沿产生
6.支持默认状态下为高/低电平

在这里插入图片描述

在这里插入图片描述

6.如果只需要长按,则配置长按事件,短按和释放配置为BSP_EVENT_NOTHING。应用程序只能分辨事件,不能判断该事件是哪个按键产生的,所以分配的时候要注意

7.可以在bsp_btn_ble_init之前自己分配事件,此时是APP按钮,也可以在bsp_btn_ble_init里面的advertising_buttons_configure里面分配

8.长按和短按的分离,因为长按会触发短按,所以需要重新分配,方法一就是把默认分配注释掉(它里面给所有的按键都分配了短按事件,具体看按键和led初始化函数,以及分配函数),方法二就是长按按键的短按分配BSP_EVENT_NOTHING

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值