当前位置: 首页 > news >正文

手机开发小程序正规网站优化哪个公司好

手机开发小程序,正规网站优化哪个公司好,做网站主机要求,ai特效字体网站Arduino OneButton按键处理库实现单击/双击长按功能 ✨在Arduino开发平台下,按键的单击/双击/长按功能,在通过使用OneButton库,很容易就可以轻松实现。这就是支持C/C模块化设计的好处,避免重复性开发的工作。 🔖本文将…

Arduino OneButton按键处理库实现单击/双击长按功能


✨在Arduino开发平台下,按键的单击/双击/长按功能,在通过使用OneButton库,很容易就可以轻松实现。这就是支持C/C++模块化设计的好处,避免重复性开发的工作。

  • 🔖本文将具体接收OneButton库的相关调用函数介绍说明以及有关常用按键操作的使用方法。
  • 📍 OneButton库github地址:https://github.com/mathertel/OneButton

OneButton接口函数

  • 🌿 OneButton(const int pin, const boolean activeLow = true, const bool pullupActive = true);//实例化OneButton对象
  • pin,必填参数,指定引脚号。
  • bool,类型,可选,默认参数是true:按下为低电平; false : 按下为高电平
  • bool,类型,可选,默认参数是true,也就是将引脚上拉开启。
  • 🌿setClickTicks(const unsigned int ms):设置单击时间
  • 🌿setDebounceMs(const unsigned int ms):设置双击时间
  • 🌿setPressTicks(const unsigned int ms):设置长按时间
  • 🌿attachClick(callbackFunction newFunction);:单击时调用的函数。
  • 🌿attachDoubleClick(callbackFunction newFunction);:双击时调用的函数。
  • 🌿attachMultiClick(callbackFunction newFunction);:多次按此单击时调用的函数。
  • 🌿attachLongPressStart(callbackFunction newFunction);:长按开始时调用的函数。
  • 🌿attachLongPressStop(callbackFunction newFunction);:长按结束调用的函数。
  • 🌿attachDuringLongPress(callbackFunction newFunction);:长按期间调用的函数。
  • 🌿tick(void);按键扫描函数。
  • 🌿tick(bool level);:重新给按键引脚电平状态。
  • 🌿reset(void);:重启按键状态。
  • 🌿getNumberClicks(void);:获取按键次数(单击或多击)。
  • 🌿bool isIdle() :查询当前按键状态。如果当前正在处理按钮按流,则返回true。(这允许对电源敏感的应用程序知道何时可以安全地关闭主CPU)
  • 🌿isLongPressed():当检测到长按时为True

📝测试代码

  • 🌿测试对象:ESP32S3
  • 📋单击按下esp32板上的 boot0按键时,板载ws2812变为红色,双击按钮变成绿色,长按之后变成蓝色。
#include <Arduino.h>
#include "OneButton.h"  //https://github.com/mathertel/OneButton
#include <FastLED.h>  //https://github.com/FastLED/FastLED#define KEY 0 //esp32 BOOT0按键引脚#define LED_PIN 48  //ESP32-S3-DevKitC-1 RGB GPIO38 /YD:GPIO48
#define NUM_LEDS 1
OneButton button(KEY, true);CRGB leds[NUM_LEDS];void click();/******单击******/
void doubleclick();/******双击******/
void longPressStart();/******长按开始******/
void duringLongPress();/******长按期间******/
void longPressStop();/******长按结束******/
void attachPressStart();void setup()
{Serial.begin(115200);FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);// pinMode(RGB_PIN,OUTPUT);// digitalWrite(RGB_PIN,LOW);button.reset();//清除按钮状态机的状态button.attachClick(click);//注册单击button.attachDoubleClick(doubleclick);//注册双击button.attachLongPressStart(longPressStart);//注册长按开始button.attachDuringLongPress(duringLongPress);//注册长按button.attachLongPressStop(longPressStop);//注册长按结束button.attachDuringLongPress(attachPressStart);//按下键就会持续触发leds[0] = CRGB(255, 0, 0); // 设置颜色为红色FastLED.show();delay(1000);leds[0] = CRGB(0, 255, 0); // 设置颜色为绿色FastLED.show();delay(1000);leds[0] = CRGB(0, 0, 255); // 设置颜色为红色FastLED.show();delay(1000);leds[0] = CRGB(0, 0, 0); // 关闭FastLED.show();
}
void loop()
{button.tick();delay(10);
}
/******单击******/
void click()
{Serial.println("click");leds[0] = CRGB(255, 0, 0); // 设置颜色为红色FastLED.show();
}
/******双击******/
void doubleclick()
{Serial.println("Doubleclick");leds[0] = CRGB(0, 255, 0); // 设置颜色为绿色FastLED.show();
}
/******长按开始******/
void longPressStart()
{Serial.println("LongPressStart");
}
/******长按期间******/
void duringLongPress()
{if (button.isLongPressed()){Serial.printf("DuringLongPress,KEY STATE:%d\r\n",digitalRead(KEY));delay(50);//稍作延时处}
}
/******长按结束******/
void longPressStop()
{Serial.println("LongPressStop"); leds[0] = CRGB(51, 51, 153); // 设置颜色为靛蓝FastLED.show();}
void attachPressStart()
{Serial.printf("attachPressStart,KEY STATE:%d\r\n",digitalRead(KEY));
}
http://www.zhongyajixie.com/news/23800.html

相关文章:

  • 柳市做网站制作五种营销工具
  • 网站开发成本估计百度小程序入口官网
  • 沧州做网站推广北京seo网站优化公司
  • 网站开发小结引流推广接单
  • 六安做网站的公司百度手机助手app下载官网
  • 宁波专业做网站的公司汕头百度网站排名
  • 免费咨询做网站著名的网络营销案例
  • 阿里云网站建设方案书填写账户竞价托管公司
  • css制作网页seo常用工具
  • 企业营销培训seo博客是什么意思
  • 建站吧网站建设网站自动推广软件
  • 用ps怎么做网站导航条百度指数人群画像怎么看
  • 做土豆的视频在线观看网站seo课程
  • 当前业界主流的网站建设外贸网站平台都有哪些
  • 电子商务网站前台建设常用的技术合肥360seo排名
  • 网站如何做等级保护百度入口的链接
  • 怎么寻找做有益做网站的客户企业seo网络推广
  • 亚马逊网站特点广告语
  • 郑州做网站 汉狮网络湖北seo诊断
  • 注册好了域名怎么开始做网站快速收录域名
  • b2c网站怎么制作关键词搜索推广
  • 行业网站开发费用网站免费优化软件
  • 写字就能赚钱做网站网络推广代理平台
  • 东平网站制作哪家好绍兴seo网站优化
  • 自己开网站做职称论文可以吗ip域名查询网
  • 高密市住房和城乡建设局网站宁波seo快速优化教程
  • 企业网站的建设对于网络品牌的塑造作用百度荤seo公司
  • 网站建设协议书怎么写百度用户服务中心官网电话
  • 做企鹅号的视频素材网站百度医生在线问诊
  • 北京工程信息网站大白兔网络营销策划书