OpenEdv-开源电子网

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

求助,基于STM32F103的按键输入顺序判断

[复制链接]

3

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2020-2-4
在线时间
48 小时
发表于 2021-8-17 16:02:04 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 mmmllb 于 2021-8-18 08:55 编辑

现在在做一个程序,程序功能如下:
电路板上电后,按照1~11的顺序按下按键,按动的顺序正确且没有漏按,设备给与正确反馈;顺序有误或有漏按,设备给与错误反馈。
设计思路如下:
定义一个11位的数组,每个按键定义成一个数。每按一个键则将相应的数值按照顺序放入数组,键入完成后将输入的数组与正确数组对比,验证按键顺序是否正确。
设计程序的时候被这几个问题卡住了:
1.按键3按下的时候,74HC147向ARM的PB2~PB5输出“1100”,ARM怎么通过这个数判断按键3按下了;
2.数组输入完成后,与正确数组比较的操作怎么实现。





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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2021-8-18 02:03:02 | 显示全部楼层
很简单的一个功能,搞这么复杂。  先给11个按键编号,然后必须第一个是按键1,第二个是按键2,只要发现任何不对,直接就死机,不完事了么
回复

使用道具 举报

3

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2020-2-4
在线时间
48 小时
 楼主| 发表于 2021-8-18 08:56:42 | 显示全部楼层
正点原子 发表于 2021-8-18 02:03
很简单的一个功能,搞这么复杂。  先给11个按键编号,然后必须第一个是按键1,第二个是按键2,只要发现任何 ...

问下按键3到按键11 怎么实现编码
回复

使用道具 举报

11

主题

2154

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4953
金钱
4953
注册时间
2015-1-10
在线时间
621 小时
发表于 2021-8-18 09:46:16 | 显示全部楼层
mmmllb 发表于 2021-8-18 08:56
问下按键3到按键11 怎么实现编码

147怎么编码你就怎么解码呗
回复

使用道具 举报

3

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2020-2-4
在线时间
48 小时
 楼主| 发表于 2021-8-18 10:06:13 | 显示全部楼层
阿侑kevin 发表于 2021-8-18 09:46
147怎么编码你就怎么解码呗

我是想问下比如:按下按键3的时候,147输出1100。
ARM通过四个IO的状态判断是按键3按下这部分程序怎么写。
回复

使用道具 举报

5

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2021-5-26
在线时间
39 小时
发表于 2021-8-18 10:30:34 | 显示全部楼层
将1100和pb2-5的输入对比 一样不就是按键三按下了吗
回复

使用道具 举报

12

主题

3402

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8688
金钱
8688
注册时间
2020-5-11
在线时间
4174 小时
发表于 2021-8-18 10:35:56 | 显示全部楼层
楼主要不还是从51单片机开始吧,比如STC15W408AS、STC15W4K48S4、还有STC8系列都不错的。
if语句了解一下;
C语言位运算了解一下;
大多开发板例程或51单片机教程都会讲按键的。
专治疑难杂症
回复

使用道具 举报

3

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2020-2-4
在线时间
48 小时
 楼主| 发表于 2021-8-18 10:53:23 | 显示全部楼层
LcwSwust 发表于 2021-8-18 10:35
楼主要不还是从51单片机开始吧,比如STC15W408AS、STC15W4K48S4、还有STC8系列都不错的。
if语句了解一下 ...

多谢劝退,刚买了开发板,我还是继续磨STM32吧。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-24 16:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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