有那位大侠能说说中断扫描键盘和主程序扫描键盘的优缺点

[复制链接]
23008|99
happyrun 发表于 2008-5-24 11:00 | 显示全部楼层

一直在主程序中扫描,

以后尝试在中断中扫描
NE5532 发表于 2008-5-24 11:57 | 显示全部楼层

这个问题本身就有问题

脱离需求环境讨论解决方案是没有意义的!
hyj41174 发表于 2008-5-24 14:58 | 显示全部楼层

一般不要在中断里扫描

在中断函数中不要太多的执行代码
gsb1227 发表于 2008-5-24 15:18 | 显示全部楼层

我喜欢在主程序里扫!

要是放在中断里扫的话,万一不停的按着按键不就狂进中断了吗,那主程序就没法正常运行了啊!就死了!
不知大侠们怎么处理的!?
gyh02133 发表于 2008-5-24 15:28 | 显示全部楼层

关键是怎么设消抖动

关键是怎么设消抖动  关键是怎么设消抖动  关键是怎么设消抖动  
5880527 发表于 2008-5-24 17:45 | 显示全部楼层

64楼的方法肯定不对

键盘都能把程序整死太危险了
xwj 发表于 2008-5-24 17:53 | 显示全部楼层
gsb1227 发表于 2008-5-26 21:47 | 显示全部楼层

66楼有什么高见啊?说来听听啊!

hotpower 发表于 2008-5-27 01:14 | 显示全部楼层

俺喜欢"扫而不描"~~~

西安周公 发表于 2008-5-27 10:55 | 显示全部楼层

提请各位注意这个消抖10mS、20mS只是个约数

我没什么经验,不过干了20几年。我从来不在中断中干这些没有即时响应要求、没有流量的事情。可以分析各位的系统中按键操作占系统工作多少时间,扫描按键中断又占了系统多少时间?如果领导要求你每天、每小时、每分钟报到,想一下你的心情、怎么工作。
panying180 发表于 2008-5-27 13:22 | 显示全部楼层

你的中断是不是太多了,用不完啊.

ayb_ice 发表于 2008-5-27 20:52 | 显示全部楼层

看来不在中断中扫键的也很多

5880527 发表于 2008-5-27 21:52 | 显示全部楼层

to 64楼:

键盘不是中断,而是定时器中断中扫描键盘
我是这样做的
定时器中检测到有键盘按下置一标志,再次检测到可以认为它就是真的按下了,如果很重要的功能键不妨就对扫描计数,达到一定的次数后才认为真的有效,每次扫描键盘所占的时间微不足道,几个us,几ms一次。至于那键功能的处理根据具体情况处理,如果可能涉及到耗时的计算就把键的功能放到主循环里,一般都可以及时处理的,哪怕使用者用手掌乱拍键盘也不会死机
gsb1227 发表于 2008-6-1 10:47 | 显示全部楼层

To 5880527

我明白了。其实如果主程序不是很大的话,键盘扫描放主程序里和用定时器感觉没什么不同的!
gtw 发表于 2008-6-1 10:52 | 显示全部楼层

我一般在中断中做尽量少的事情

中断里做的事情越多哦,全局变量冲突就越多
只有需要极其及其实时性要求的任务才放进去做。
gtw 发表于 2008-6-1 10:58 | 显示全部楼层

在主程序中周期性调用

一个弱实时,一个强实时而已。
不应有太大争论。
只是把扫键放到主程序后,优先级降低,允许其他更需要实时的任务执行而已。
jokeking 发表于 2008-6-1 18:12 | 显示全部楼层

这ID~~~

huangqi412 发表于 2008-6-1 21:14 | 显示全部楼层

楼盖的真快

ayb_ice 发表于 2008-6-3 10:34 | 显示全部楼层

现在看来在主循环扫键的不占下风

hungrywolf 发表于 2008-6-3 11:27 | 显示全部楼层

我作了几个都是用扫描的

中断的话就要多了一个SM口拉!检测到中断之后也要扫一下,看是哪个按键,呵呵,跟高手的意见不同,等着被人泼水
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部