i.MX6ULL终结者定时器按键原理及原理分析

1 定时器按键原理

按键消除抖动的原理在前面章节已经介绍了,其实就是按键按下以后延时一段时间在去读按键的状态,如果此时按键还是按下的状态,就说明这是一次有效的按键,延时的时间段就是消除抖动的。上一章我们学习了EPIT定时器,可以知道定时器的工作不受CPU的干预,只要cpu设置好定时时间,定时器就会自己工作,CPU同时去做其它事情,时间到了以后定时器会产生中断通知CPU,然后CPU才会停下当前的事情,去中断处理函数中处理定时器指定的任务,处理完指定的任务,CPU返回到中断前处理的事情上面,继续处理中断发生前的事情。因此我们可以使用定时器来完成按键的消除抖动处理,按键采用中断处理方式,当按键按下以后触发中断处理函数,在中断处理函数中开启定时器,定时器的定时周期设置为10ms,当定时器到了以后就会触发定时器中断处理函数,在定时器中断处理函数中去读取按键的状态,如果按键还是按下状态,就认为这是一次有效的按键操作。

现在我们使用EPIT1定时器配合按键来实现消除抖动的功能,我们可以分成下面的步骤:
1.配置按键的IO中断
2.配置EPIT1定时器
3.编写按键的中断处理函数和定时器的中断处理函数

2 原理分析

实验用到的硬件资源包括一个LED,一个按键,蜂鸣器,CPU内部的EPIT1定时器,这些硬件的原理我们在前面的章节有具体讲解,在这里我们就不在详细分析了,大家可以查看前面相关章节。在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46635880/article/details/108972615
今日推荐