一、逻辑编写思路梳理(长短按以1s做举例)
1、需求分析:
a、对于一个按键的长按和短按,都有一个按下(上升沿)的过程;
b、当按键在规定的时间内松开(下降沿),就短按;
c、按下的时长大于规定的时间就是长按。
d、那么要实现该功能,就需要在按键按下时,开始计时。在时间范围内出现下降沿就是短按,否则就是长按。
1.png (4.28 KB, 下载次数: 141)
2019-1-22 10:43 上传
e、对于现有的逻辑块中具有计时功能个采集下降沿功能的只有“one shot”和“retrig one shot”;其中“retrig one shot”是重复计时,不符合我们的需求。
f、同样的连续计时的还有“debounce”。
2、逻辑编写(写法一)a、用两个“one shot”分别采集按键的上升沿和下降沿。
2.png (12.73 KB, 下载次数: 127)
2019-1-22 11:03 上传
说明:
这里上升沿计时为0.8s,即按键按下去,输