OpenEdv-开源电子网

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

按键检测问题?

[复制链接]

46

主题

117

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2016-9-13
在线时间
58 小时
发表于 2017-8-3 22:05:47 | 显示全部楼层 |阅读模式
10金钱

        我看到对于按键检测主要有两种方法,一种是用按键扫面函数,另一种就是用外部中断了。我想问一下这两种有什么优缺点呢?都要占用IO口为什么不都用外部中断呢?

最佳答案

查看完整内容[请看2#楼]

这个问题我觉得要考虑资源的利用问题,每个引脚号相同的引脚(如PA1,PB1,PC1,PD1.....)共用一条中断线,中断线每次只能连接到 1 个 IO 口,那么引脚号相同的引脚就同时配置成中断模式的话就容易出问题,这时就要考虑其它办法,上面提到的按键扫描检测,其实就是换另一种方法实现功能而已,当然,这种方法的实时性比不上外部中断。不过学习多种实现方法也好,今后可以灵活运用。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

93

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1254
金钱
1254
注册时间
2016-7-17
在线时间
146 小时
发表于 2017-8-3 22:05:48 | 显示全部楼层
本帖最后由 虾兵蟹将 于 2017-8-4 09:35 编辑

这个问题我觉得要考虑资源的利用问题,每个引脚号相同的引脚(如PA1,PB1,PC1,PD1.....)共用一条中断线,中断线每次只能连接到 1 个 IO 口,那么引脚号相同的引脚就同时配置成中断模式的话就容易出问题,这时就要考虑其它办法,上面提到的按键扫描检测,其实就是换另一种方法实现功能而已,当然,这种方法的实时性比不上外部中断。不过学习多种实现方法也好,今后可以灵活运用。
回复

使用道具 举报

2

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
315
金钱
315
注册时间
2017-7-17
在线时间
65 小时
发表于 2017-8-4 00:21:18 | 显示全部楼层
按键扫描:程序简单,不需要用到定时器中断等资源
                占用CPU,无法实时响应
外部中断:实时响应,不用占用CPU
                程序稍微复杂,要配置定时器中断
回复

使用道具 举报

46

主题

117

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2016-9-13
在线时间
58 小时
 楼主| 发表于 2017-8-4 08:26:19 | 显示全部楼层
天天天 发表于 2017-8-4 00:21
按键扫描:程序简单,不需要用到定时器中断等资源
                占用CPU,无法实时响应
外部中断:实 ...

不是应该用到外部中断吗?外部中断触发,怎么是定时器中断呢?
回复

使用道具 举报

46

主题

117

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2016-9-13
在线时间
58 小时
 楼主| 发表于 2017-8-4 09:47:35 | 显示全部楼层
虾兵蟹将 发表于 2017-8-4 09:12
这个问题我觉得要考虑资源的利用问题,每个引脚号相同的引脚(如PA1,PB1,PC1,PD1.....)共用一条中断线,中 ...

嗯嗯,了解了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-20 06:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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