找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: xiao_yp2014
打印 上一主题 下一主题
收起左侧

状态机按键扫描,看懂了会增长你的功力。。。。

  [复制链接]
41#
ID:89595 发表于 2015-9-16 22:17 | 只看该作者
正在学,很需要。谢了。
回复

使用道具 举报

42#
ID:89591 发表于 2015-9-17 10:52 | 只看该作者
好东西,学习中
回复

使用道具 举报

43#
ID:90358 发表于 2015-9-17 20:25 | 只看该作者
状态机
回复

使用道具 举报

44#
ID:63484 发表于 2015-9-19 06:51 | 只看该作者
不错,这次直接上压缩包了
回复

使用道具 举报

45#
ID:88606 发表于 2015-10-25 12:28 | 只看该作者
看看怎样区分长短按的?
回复

使用道具 举报

46#
ID:93871 发表于 2015-10-28 15:09 | 只看该作者
好东西  赞一个
回复

使用道具 举报

47#
ID:39824 发表于 2015-11-25 16:56 | 只看该作者
支持楼主!!!!!!
回复

使用道具 举报

48#
ID:97245 发表于 2015-11-26 16:15 | 只看该作者
看看吧 和avr的一样不
回复

使用道具 举报

49#
ID:97344 发表于 2015-11-27 12:49 | 只看该作者
正好,看看能不能学到新知识
回复

使用道具 举报

50#
ID:98329 发表于 2015-12-4 16:29 | 只看该作者
  好屌
回复

使用道具 举报

51#
ID:85726 发表于 2015-12-9 12:28 | 只看该作者
学习学习,很好的样子!
回复

使用道具 举报

52#
ID:85726 发表于 2015-12-9 12:29 | 只看该作者
为什么下载不了呢!
回复

使用道具 举报

53#
ID:85726 发表于 2015-12-9 12:46 | 只看该作者
终于下载了,谢谢楼主!正好需要!
回复

使用道具 举报

54#
ID:69862 发表于 2015-12-9 13:03 | 只看该作者
ning 发表于 2015-12-9 12:29
为什么下载不了呢!

需要登录才可以下载。
回复

使用道具 举报

55#
ID:91729 发表于 2016-1-11 17:17 | 只看该作者
不错不错,看一下。以前知道这个就是没去研究,还是自己在扑捉那几个状态,弄得代码有点长
回复

使用道具 举报

56#
ID:91729 发表于 2016-1-11 17:30 | 只看该作者
这个例子是不错,再加个按键的入口参数会好一些,比较省事,不用每次都来更改按键定义
回复

使用道具 举报

57#
ID:69862 发表于 2016-1-12 09:50 | 只看该作者
eqihfui·· 发表于 2016-1-11 17:30
这个例子是不错,再加个按键的入口参数会好一些,比较省事,不用每次都来更改按键定义

谢谢你的建议。
回复

使用道具 举报

58#
ID:55852 发表于 2016-1-14 15:15 | 只看该作者
下载了,向楼主学习!
回复

使用道具 举报

59#
ID:65882 发表于 2016-1-14 16:06 | 只看该作者
非常感谢楼主,我现在感觉延时消抖的按键程序不好用了,正好学习下你的
回复

使用道具 举报

60#
ID:65882 发表于 2016-1-14 16:08 | 只看该作者
谢谢楼主的分享,我老是叫我不要用延时消抖,可我不会其他方法,正好学习下你的
回复

使用道具 举报

61#
ID:46943 发表于 2016-1-20 22:30 | 只看该作者
终于下载了,谢谢楼主!
回复

使用道具 举报

62#
ID:98707 发表于 2016-3-1 17:40 | 只看该作者
谢谢!第一次听到"状态按键"的说法。学习了。
回复

使用道具 举报

63#
ID:129273 发表于 2016-7-8 10:48 | 只看该作者
资料不错,稍后评价,加好友不?qq2372696853
回复

使用道具 举报

64#
ID:130893 发表于 2016-7-17 22:30 | 只看该作者
你好,我定时器设置10MS中断一次,有时按键按一下会响应两次,我尝试增加中断时间到20MS,还是有这种现象,请问这个问题要怎么解决呢?
回复

使用道具 举报

65#
ID:111256 发表于 2016-7-18 12:43 | 只看该作者
楼主,怎么没有看到,防抖处理呢?
回复

使用道具 举报

66#
ID:69862 发表于 2016-7-21 09:33 | 只看该作者
FSLTKJ 发表于 2016-7-18 12:43
楼主,怎么没有看到,防抖处理呢?

按键扫描在主程序里面,每次判定一种按键状态后,都会到主程序里面去,这样就会有延时,达到防抖的效果。
回复

使用道具 举报

67#
ID:69862 发表于 2016-7-21 09:34 | 只看该作者
FRING_HU 发表于 2016-7-17 22:30
你好,我定时器设置10MS中断一次,有时按键按一下会响应两次,我尝试增加中断时间到20MS,还是有这种现象, ...

这个中断时间太快,到中断时间调长,按键不需要这么多时间。
回复

使用道具 举报

68#
ID:69862 发表于 2016-7-21 09:35 | 只看该作者
小易 发表于 2016-1-14 16:08
谢谢楼主的分享,我老是叫我不要用延时消抖,可我不会其他方法,正好学习下你的

这是一个好方法。
回复

使用道具 举报

69#
ID:41583 发表于 2016-8-23 09:22 | 只看该作者
先来看看,
回复

使用道具 举报

70#
ID:92071 发表于 2016-9-11 22:57 | 只看该作者
学习按键控制。
回复

使用道具 举报

71#
ID:96326 发表于 2016-9-12 16:53 | 只看该作者
感谢!
回复

使用道具 举报

72#
ID:88481 发表于 2016-9-21 16:28 来自手机 | 只看该作者
很好。但貌似没有消抖作用,下载到实验板试试,果真没有。
回复

使用道具 举报

73#
ID:140541 发表于 2016-9-26 18:57 | 只看该作者
883 发表于 2016-9-21 16:28
很好。但貌似没有消抖作用,下载到实验板试试,果真没有。

主程序while里加一个delay,可以起到消抖的作用(楼主注释里已经说了:“这里我没有计时”)
--不知道我这样理解对不对,初学者。
回复

使用道具 举报

74#
ID:69862 发表于 2016-9-27 09:13 | 只看该作者
ctwarmer 发表于 2016-9-26 18:57
主程序while里加一个delay,可以起到消抖的作用(楼主注释里已经说了:“这里我没有计时”)
--不知道我 ...

不是这样理解,这种方式只是一种扫描按键按下的状态,这个地方分为了三步,如果不是很明白,可以参考一下switch语句,这儿是有去抖动的,去抖动延时的时间,取决于你调用read_key();函数的时间。
回复

使用道具 举报

75#
ID:88481 发表于 2016-9-27 20:52 来自手机 | 只看该作者
xiao_yp2014 发表于 2016-9-27 09:13
不是这样理解,这种方式只是一种扫描按键按下的状态,这个地方分为了三步,如果不是很明白,可以参考一下 ...

哦,似乎明白了。也就是说,程序扫描时间必须大于按键抖动时间,谢谢楼主。
回复

使用道具 举报

76#
ID:140541 发表于 2016-9-30 14:40 | 只看该作者
xiao_yp2014 发表于 2016-9-27 09:13
不是这样理解,这种方式只是一种扫描按键按下的状态,这个地方分为了三步,如果不是很明白,可以参考一下 ...

我想表达的意思,和您所述一样。
去抖动的延时时间,取决于调用read_key()的时间,所以我说在主程序while里加一个delay。例如抖动时间为20ms,那么delay的时间大于等于20ms,也就相当于每20ms+去调用一次read_key()。
也许我表达的不够严谨,delay()和sleep()我还没太搞清楚。总之,如果是单线程,这里让cpu睡个20ms+;如果是多线程,则每20ms+调度该线程一次就可以了。
去抖动应该是“去抖动逻辑”+“去抖动延时”,两者不可缺一,这样会否更严谨些,多谢指正。
回复

使用道具 举报

77#
ID:64178 发表于 2016-10-12 22:00 | 只看该作者
下载,学习学习
回复

使用道具 举报

78#
ID:141361 发表于 2016-10-13 13:00 | 只看该作者
感觉太复杂,就一个简单的按键何必写那么多代码,如果真的做一个项目,就一个简单的按键就那么多代码,那要是多几个按键那还怎么办、。不知道要写多少了,还不如就用中断或直接扫描按键就可以了
回复

使用道具 举报

79#
ID:128380 发表于 2016-10-14 00:40 来自手机 | 只看该作者
回去好好看看
回复

使用道具 举报

80#
ID:166907 发表于 2017-2-27 14:40 | 只看该作者
学习一下,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表