OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3800|回复: 18

按钮问题

[复制链接]

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
发表于 2017-1-6 11:57:20 | 显示全部楼层 |阅读模式
9金钱
请问大神们,我有八个开关,分别接在不同的I/O上,怎么解决我按下去一个不松开,其他按钮失效的问题!

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-6 11:57:21 | 显示全部楼层
来俩不甜的 发表于 2017-1-6 15:09
状态机。按键按下一次的时候有个状态,按键按下没松开有另一个状态。不能说的再多了,仔细看看,感觉能满 ...

好的,非常感谢
回复

使用道具 举报

23

主题

323

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1010
金钱
1010
注册时间
2016-11-8
在线时间
233 小时
发表于 2017-1-6 11:58:19 | 显示全部楼层
帮顶~~
是不是需要多任务处理了?
亦余心之所善,
虽九死其犹未悔。
回复

使用道具 举报

21

主题

387

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1043
金钱
1043
注册时间
2016-9-8
在线时间
213 小时
发表于 2017-1-6 11:59:55 | 显示全部楼层
定义一个变量标识位,不就行了...........
回复

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-6 12:03:07 | 显示全部楼层
我定义了,但是还是无效,可能是我逻辑上没有处理好,您能说的具体点吗?谢谢
回复

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-6 12:07:42 | 显示全部楼层
南有乔木 发表于 2017-1-6 11:58
帮顶~~
是不是需要多任务处理了?

不是啊,主要是解决我弄了八个按键,都是发送同一个信号,只要其中的一个有效,就算其他七个坏了也没关系,但是我按下去一个不松开了,其他的都无效了
回复

使用道具 举报

15

主题

866

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7539
金钱
7539
注册时间
2016-11-30
在线时间
641 小时
发表于 2017-1-6 12:09:22 | 显示全部楼层
你的按键是中断还是查询
回复

使用道具 举报

23

主题

323

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1010
金钱
1010
注册时间
2016-11-8
在线时间
233 小时
发表于 2017-1-6 12:09:23 | 显示全部楼层
wangzaiwudi 发表于 2017-1-6 12:07
不是啊,主要是解决我弄了八个按键,都是发送同一个信号,只要其中的一个有效,就算其他七个坏了也没关系 ...

我也不太懂,帮顶~
亦余心之所善,
虽九死其犹未悔。
回复

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-6 12:10:53 | 显示全部楼层
lvkanger 发表于 2017-1-6 12:09
你的按键是中断还是查询

我没用中断,我主要是解决弄了八个按键,都是发送同一个信号,只要其中的一个有效,就算其他七个坏了也没关系 ,这个逻辑怎么写
回复

使用道具 举报

15

主题

866

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7539
金钱
7539
注册时间
2016-11-30
在线时间
641 小时
发表于 2017-1-6 12:14:36 | 显示全部楼层
wangzaiwudi 发表于 2017-1-6 12:10
我没用中断,我主要是解决弄了八个按键,都是发送同一个信号,只要其中的一个有效,就算其他七个坏了也没 ...

如果用查询,又不是多任务处理,那就顺序查询就好啦,有一个按键触发了就不再判断剩余的按键了,直接跳出。比如查询顺序是1~8.如果1按下直接跳出,不再判断2~8.
回复

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-6 12:21:20 | 显示全部楼层
但是如果我1按下去了不松开,他就一直在发信号啊
回复

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-6 12:27:48 | 显示全部楼层
wangzaiwudi 发表于 2017-1-6 12:10
我没用中断,我主要是解决弄了八个按键,都是发送同一个信号,只要其中的一个有效,就算其他七个坏了也没 ...

我这个开关是感应开关,跟普通开关不一样,主要是感应到了就发送一个信号给芯片
回复

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-6 12:28:11 | 显示全部楼层
南有乔木 发表于 2017-1-6 12:09
我也不太懂,帮顶~

好急啊
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2017-1-6 12:43:03 | 显示全部楼层
我有故事,你有酒吗
回复

使用道具 举报

3

主题

95

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2452
金钱
2452
注册时间
2015-11-1
在线时间
301 小时
发表于 2017-1-6 12:45:04 | 显示全部楼层
把8个感应开关,接到8个IO口上.
回复

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-6 12:46:30 | 显示全部楼层
cos12a 发表于 2017-1-6 12:45
把8个感应开关,接到8个IO口上.

是的,然后怎么办
回复

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-6 12:54:42 | 显示全部楼层
来俩不甜的 发表于 2017-1-6 12:43
http://www.openedv.com/forum.php?mod=viewthread&tid=44882&highlight=%B0%B4%BC%FC%2B%D7%B4%CC%AC%BB%F ...

那个code代表什么
回复

使用道具 举报

12

主题

61

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-6
在线时间
29 小时
 楼主| 发表于 2017-1-6 13:39:19 | 显示全部楼层

你看下这个代码,他里面好像key_time没改变
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2017-1-6 15:09:46 | 显示全部楼层

状态机。按键按下一次的时候有个状态,按键按下没松开有另一个状态。不能说的再多了,仔细看看,感觉能满足你的需求
我有故事,你有酒吗
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-29 04:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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