状态机定时器法按键消抖,在定时器中断里面调用按键扫描子程序好还是在主函数里调用好

2019-07-15 16:19发布

我的主函数用while循环ad转换和更新1602显示,每循环一次409ms左右,扫描程序放在哪好
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
andy_wsj
1楼-- · 2019-07-15 21:01
 精彩回答 2  元偷偷看……
andy_wsj
2楼-- · 2019-07-16 01:14
循环一次409ms?这个程序得多大啊?
假设使用16M主频,单周期指令是 1/16M = 62.5ns
一次循环执行的单周期指令 409ms/62.5ns = 6544000条
假设编译器效率为80%,转换为C语言就是 6544000 * 0.8 = 5235200
显然,这是不可能的,那么你的程序设计上一定有问题!!!
所以,不要把delay这样的函数放在程序的主干道上....延时的方法很多,这是最差的一种
黄成成
3楼-- · 2019-07-16 04:59
andy_wsj 发表于 2015-8-11 09:28
循环一次409ms?这个程序得多大啊?
假设使用16M主频,单周期指令是 1/16M = 62.5ns
一次循环执行的单周期指令 409ms/62.5ns = 6544000条

是40ms,打错了,就是用状态机和定时器这种方法检测按键,一般读取按键值的子程序放在哪

一周热门 更多>