button文件详解

先看一下范例:

 

 

 

和led文件一样, 首先要定义pio, 给要用的按键定义一个别名

pio不能和led文件里的一样, 我开始就是设成重叠的了, 结果

总是会出现莫名其妙的错误.

 

debounce 2 20

这句是消抖, 会被button文件处理器自动翻译为button.c文

件里的

PioDebounce((1UL<<0)|(1UL<<1)|(1UL<<5)|(1UL<<6)|(1UL<<7), 2, 20);

如果不加后面的参数2和20,那么默认的参数是1,0

 

 

最后, 还需要定义一个消息, 让vm知道什么时候往你的消息

处理函数发送消息. 要发送的键盘消息是你自己定义的, 格式

如下:


message BUTTON_RESET_PRESS
 BUTTON_UP enter

 

其中 BUTTON_UP 是上面定义的pio的别名,

BUTTON_RESET_PRESS 是vm回调你消息处理函数时发

送的消息名. button文件处理器会自动的为每个消息编一个

号:

enum
{
 BUTTON_RESET_PRESS = 1000 /* base value */,
 BUTTON_UP_PRESS,
 BUTTON_DOWN_PRESS,
 BUTTON_LEFT_PRESS,
 BUTTON_RIGHT_PRESS,
 PIO_RAW
};

这样在消息处理函数里, 只要这样处理就可以了:

switch (id)

{

case BUTTON_RESET_PRESS:

    break;

case BUTTON_UP_PRESS:

    break;

......

}

 

后面那个enter代表的是按下

还可以换成下面这些:

 

held  表示按下按键, 后面可以跟一个数字, 表示按下多少微秒才发送消息

 

release 表示释放按键

 

held_release 表示按下再释放按键, 后面也可跟一个数字

 

repeat 表示每隔XXX微秒就发送一次消息, 例如:

message VOLUME_UP
 UP enter
 UP repeat 500

表示按下UP时发送一次VOLUME_UP消息, 每隔500微秒再发送一次.

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值