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

看室内设计效果图网站开发app需要钱吗

看室内设计效果图网站,开发app需要钱吗,2022新闻大事件摘抄,保定市网站销售和设计背景 有项目使用独立按键检测#xff0c;短按、长按。根据使用效果#xff0c;发现松手后#xff0c;也就是按键弹起后响应操作比较好操作。 记得之前#xff0c;博主写过一篇关于按键的检测的文章#xff0c;但是过于复杂了。可能很难懂#xff0c;这里就简单一点短按、长按。根据使用效果发现松手后也就是按键弹起后响应操作比较好操作。 记得之前博主写过一篇关于按键的检测的文章但是过于复杂了。可能很难懂这里就简单一点只处理一个按键。并且这个按键只检测短按、长按两种状态。 硬件 硬件原理图如下 这里不管使用哪个型号的MCU基本上都一样了就是按键上拉按下按键MCU管脚有个低电平输入信号。如下图所示这里允许我偷个懒把之前的图拿上来。因为实际项目的图拿上来影响不好。反正原理就是这样的你也可以将KEY上拉这里的上拉可以在MCU的管脚配置为输入上拉。 如下图所示按下按键单片机管脚KEY得到一个低电平输入。 软件 这里就不限于使用的MCU按键采用扫描的方式获取按键值。 首先使用定时器定时1ms 这段代码是根据使用的MCU平台实现定时器的初始化配置保证定时器中断1ms来一次不同的MCU平台这里的代码都不一样的。例如STM32/GD32/等等其他的8位的MCU都可以。 void timer_init(void) {//根据MCU平台实现初始化代码} 定时器中断函数实现按键扫描 这里的key_val/key_val_buf你可以理解上全局变量读取按键消息如果有按键就将按键值保存下来。 void TIM_IRQHandler() {key_val ReadKey();if(key_val ! NO_KEY){key_val_buf key_val;}} 具体检测长按的函数这里是最关键 用一个状态机实现 代码如下 这里简单解释一下每次定时器中断来首先读取按键的管脚的当前值 如果状态0检测到有按键按下进入状态1消除抖动 状态1确认有按键按下则进入状态2 状态2等待按键松手根据KeyTimeCnt 的数值来确定输出长按还是短按 这里2ms到1000ms为短按 1000ms以上认为短按 这个数值可以根据你自己的使用习惯进行调整。我这里也是根据实际按键的效果来调整得到的。 unsigned char ReadKey(void) {static unsigned char KeyState 0;static unsigned int KeyTimeCnt 0;static unsigned int no_key_times 0;unsigned char KeyReturn NO_KEY;static unsigned char KeyCurValue NO_KEY;KeyCurValue key; //读取按键值switch(KeyState){case 0:{if(KeyCurValue 0) //检测到有键按下{KeyState; //转到消抖确认状态 KeyTimeCnt 0;no_key_times 0;}else{no_key_times;if(no_key_times 500)//500*20ms10s{no_key_times 0;}}break;}case 1:{if(KeyCurValue 0) //和上次按键相同确认有键按下{KeyState; //转入等待按键释放状态}elseKeyState--; //两次键值不同 返回等待按键状态KeyTimeCnt 0; break;}//增加时间按键的长按、短按检测case 2: {if(NO_KEY KeyCurValue) // 按键已经释放{if((KeyTimeCnt 2) (KeyTimeCnt 1000)) {KeyReturn KEY1_DOWN; KeyTimeCnt 0; KeyState 0;}else if(KeyTimeCnt 1000){KeyReturn KEY1_DOWN_LONG; //检测到长按KeyTimeCnt 0; KeyState 0;}else{KeyReturn NO_KEY;KeyTimeCnt 0; KeyState 0;}}else{KeyTimeCnt;}break;}default:{KeyState 0;break;}}return KeyReturn; }之前的博客也可以参考有点复杂 这个按键检测就复杂很多了 STM32独立按键扫描支持同时按下、长按、快速键值_stm32按键扫描_大牛攻城狮的博客-CSDN博客
http://www.w-s-a.com/news/966648/

相关文章:

  • asp网站怎么做404页面跳转本地南通网站建设
  • 点击网站出现微信二维码的链接怎么做申请网站空间怎么做
  • 网站开发的论文题目广告设计排行榜
  • 网络营销网站 功能南京h5制作公司
  • 做网站的费用的会计分录合肥做网站推广哪家好
  • 电子商城网站开发怎么wordpress用的什么主题
  • 榆林电商网站建设网上做试卷的网站
  • 文山网站建设代理中公教育培训机构官网
  • 郑州it培训机构有哪些上海外贸网站seo
  • dw做网站的实用特效广东住房与城乡建设厅网站
  • 模板网站 动易哪方面的网站
  • 怎么给网站做外链邵连虎郑州做网页的公司
  • 重庆网站开发哪家好宁波网站建设caiyiduo
  • 手机网站建设价格手机网站模版更换技巧
  • 哈尔滨松北区建设局网站美妆网站建设
  • 不需要网站备案的空间网站推广的基本方法是哪四个
  • 如何检查网站死链劳动仲裁院内部网站建设
  • 江西省住房和城乡建设网站合同管理系统
  • 网站建设质量保证福州网络推广
  • 高唐网站建设公司广州南站在哪个区
  • 广西柳州网站制作公司郴州网红打卡景点
  • 做网站要固定ip拍摄公司宣传片制作
  • 专业微网站电话号码做软件难吗
  • 邢台网站制作哪家强上海做网站设计
  • 大连网站建设外贸wordpress添加文章属性
  • 商城网站建设合同范本网上哪里可以免费学编程
  • 服务器公司网站博客wordpress怎么编辑
  • 网站建设网络推广柯西乡塘网站建设
  • 企业做网站需要多少钱企业资质查询系统官网
  • 网站建设需要知识百度统计数据