概述
在实际项目中,经常需要用到独立按键来作为人机交互的工具。为了避免重复造轮子,这里简单介绍一个使用组件FlexibleButton的移植,它支持单击、双击、长按等常用事件。
正文
废话不多说,直接开盘。
第一步:获取源码
第二步:准备好工程,并把源文件加入工程。
第三步:注册按键
参考代码如下:
static flex_button_t user_button[1];
static void flex_key_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
static uint8_t button_key0_read(void)
{
return GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0);
}
static void btn_0_cb(flex_button_t *btn)
{
char_device_t *uart_dev = NULL;
uart_dev = char_device_find("uart");
switch (btn->event)
{
case FLEX_BTN_PRESS_DOWN:
uart_dev->dops->write

本文介绍了如何在项目中使用FlexibleButton组件实现按键的单击、双击、长按等交互,重点展示了如何修改源码以支持按键长按连发功能,并提供了关键代码和调试接口实例。
最低0.47元/天 解锁文章
7722

被折叠的 条评论
为什么被折叠?



