OpenEdv-开源电子网

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

外部中断和按键扫描有啥不一样的

[复制链接]

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2017-7-6
在线时间
35 小时
发表于 2017-7-15 19:47:22 | 显示全部楼层 |阅读模式
5金钱
因为自己做的程序用按键扫描怎么也弄不出来,总是按了没反应或者反应时间有事快有时慢的。。。(学STM32才一个星期,有许多问题,麻烦各位了)
问题:
(1)发现 外部中断 和 按键扫描 两个例程的功能其实一样,就是通过按键控制LED亮灭,那么按键扫描和外部中断有啥不一样啊???
(2)如果按键扫描程序是和其他许多函数放在一起用,比如说我执行了几个函数才执行按键扫描,然后一直循环。
       那么如果其他函数执行时间太长,是不是就会出现我按按键也没啥反应,正好轮到扫描的时候我按着才有用?(感觉自己深深被按键绕进去了);

       这样一想的话感觉长按按键和短按按键有时候会不会分辨不出来呀。。。。。。

最佳答案

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

你其实可以把按键扫描看成是特殊一种外部中断的(并非真正的外部中断,真正的外部中断跟中断控制器有密切联系),外部中断其实就是收到某种信号,然后进入相应的中断函数执行命令;而按键扫描就是通过判断相应按键的引脚的电平,依据电平的不同执行不同的命令,两者在某种程度上是很像的。因为程序是顺序执行的,在程序比较长的情况下,可能会出现按键按下去没反应的情况。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

92

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1216
金钱
1216
注册时间
2016-7-17
在线时间
143 小时
发表于 2017-7-15 19:47:23 | 显示全部楼层
你其实可以把按键扫描看成是特殊一种外部中断的(并非真正的外部中断,真正的外部中断跟中断控制器有密切联系),外部中断其实就是收到某种信号,然后进入相应的中断函数执行命令;而按键扫描就是通过判断相应按键的引脚的电平,依据电平的不同执行不同的命令,两者在某种程度上是很像的。因为程序是顺序执行的,在程序比较长的情况下,可能会出现按键按下去没反应的情况。
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2017-7-6
在线时间
35 小时
 楼主| 发表于 2017-7-15 20:48:46 | 显示全部楼层
虾兵蟹将 发表于 2017-7-15 20:22
你其实可以把按键扫描看成是特殊一种外部中断的(并非真正的外部中断,真正的外部中断跟中断控制器有密切联 ...

谢谢谢谢。
那么我用外部中断来实现功能:用按按键来切换程序中不同的模式     是完全可以的,而且会更准确对吧。  只是可能会因为利用了外部中断多占用一些资源而已,是这样吗?那我可以先不考虑效率高低之类的,先用外部中断代替了按键扫描再说。
回复

使用道具 举报

0

主题

92

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1216
金钱
1216
注册时间
2016-7-17
在线时间
143 小时
发表于 2017-7-15 22:35:08 | 显示全部楼层
可以用外部中断来代替按键扫描,至于“用外部中断来实现功能:用按按键来切换程序中不同的模式     是完全可以的,而且会更准确对”,这个要看你的代码逻辑实现得好不好
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2017-7-6
在线时间
35 小时
 楼主| 发表于 2017-7-16 08:59:37 | 显示全部楼层
虾兵蟹将 发表于 2017-7-15 22:35
可以用外部中断来代替按键扫描,至于“用外部中断来实现功能:用按按键来切换程序中不同的模式     是完全 ...

哈哈,我搞定了,万分感谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-12-18 21:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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