按键中断消抖--2
来源:互联网 发布:手机淘宝保证金怎么退 编辑:程序博客网 时间:2024/05/17 02:31
外部中断按键处理
uchar g_ucKeyVal=0;
uchar g_ucKeyCnt=0;
uchar g_ucKeySta=0; 代表有无按键按下
u8 KeyDeal(void) //获取按键值 ---记住不要延时
{
return data
}
//对获取键值,进行一下正确性处理
//关键字: g_ucKeySta 代表按下状态
// 只要按下不松开,状态一直为1
// 只要松开就为0
u8 KeyScan(void)
{
key1=KeyScan();
if(key1!=0xff)
{
key2=KeyScan();
if(key1==key2)
{
g_ucKeySta=1;
}
else
g_ucKeySta=0;
}
else
g_ucKeySta=0;
return key1;
}
//定时器中 进行减操作
//作用:延时处理
void time0()
{
if(g_ucKeyCnt) g_ucKeyCnt--;
//一直按
if(g_ucKeyCnt==0)&&(g_ucKeySta)
g_ucKeyCnt=20;
}
// g_ucKeyCnt 键值延时
// 核心 当中断发生后
//获取到键值延时为0,则把键值延时赋值
//在些期间,再有中断发生,不会再次采集按键(取巧避过延时)
void ISR ()
{
if(g_ucKeyCnt==0) 当值为0才进行下一次采集,避免按键延时
{
g_ucKeyVal=KeyScan();
g_ucKeyCnt=20;
}
}
星空小蜗牛
阅读全文
0 0
- 按键中断消抖--2
- Sysstick定时中断实现按键消抖
- 按键消抖(定时器中断)
- 利用STM32的Systick中断实现按键消抖
- 按键中断
- 按键中断
- 按键 中断
- 按键中断
- 按键中断
- (驱动)(中断)(定时器)中断结合定时器完成按键消抖的驱动程序
- 中断-----按键中断驱动程序
- 中断分层和按键去抖
- nrf51822 --- 外部中断(按键2)
- STM32按键扫描/按键中断/外部中断
- CC2530 按键中断--中断向量
- s3c2440中断总结+按键中断
- 51单片机:利用定时器中断写一个简易加法计算器,按键消抖算法很好。
- 树莓派Android Things物联网开发:按键中断及消抖
- 节点部署问题的研究内容
- CDlinux U盘启动制作教程
- GAN的入门与实践
- detection dataset
- __interface
- 按键中断消抖--2
- 关于C语言编译器和C语言标准
- 判断一年是否为闰年
- 线程状态
- CSS样式盒子模型
- COM中GUID和UUID、CLSID、IID
- 第九讲 页面置换算法
- android studio 使用NDK和swig编译c++示例
- 如何配置Kubernetes以实现最大程度的可扩展性