你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32 按键简易防抖法。

[复制链接]
damiaa 发布时间:2015-1-7 13:53
本帖最后由 damiaa 于 2015-1-7 13:59 编辑
$ b  a% A9 c) i9 ^7 E8 K4 Z7 X2 ?
3 G% W( d1 ^9 h1,开启定时中断,随便是哪个或SYTICK中断定时时间设置为5MS或多少。6 `9 h3 A2 }6 R( u5 t
2,keyup为外部变量。指示按键按下或否。
& {, ?: b4 o# I/ f; [3,定时中断中调用这个函数。0 E% Q3 i, p) t2 O8 v/ _  O1 Z
void scankey(void)
$ x$ C5 U4 T! n0 K  `, h$ {{
; X8 Z3 K! o1 W   static uint16_t  keybuf=0;   keybuf<<=1;
, j' S2 X/ b7 s, d# w- c' X: e4 ?  if(GPIO_ReadInputDataBit(KEYLINE0_GPIO_PORT, KEYLINE0_PIN)) keybuf+=1;" u% L+ Y8 g& F- ]+ u) G9 x
1 V) N, ?) T) L
if(keybuf ==0xffff) keyup=1;//keyup 是外部变量指示button 是否按下。KEYLINE0_GPIO_PORT, KEYLINE0_PIN是一个IO口 # r' _  ~# Y  a5 R( C* i9 A: M5 U
if(keybuf ==0x0000) keyup=0;
6 O" R5 }5 ~2 ~: S' q}! V: B; n5 v& y2 V5 g0 _$ G: n
$ u- }/ O0 Y, b+ j& u
喜欢的就点赞一下。1 ?% f2 R' e/ V
收藏 评论6 发布时间:2015-1-7 13:53

举报

6个回答
巅峰残狼 回答时间:2015-1-7 14:06:24
谢谢分享
麟狮蕟 回答时间:2015-1-8 16:57:14
我借鉴原子的按键!感觉不错!!
党国特派员 回答时间:2015-1-16 09:50:32
2.png
AndyYau-268557 回答时间:2015-1-17 19:45:18
论坛有篇关于按键的帖子,还是不错的,只用一个变量来完成 挺好的
AndyYau-268557 回答时间:2015-1-17 19:45:44
论坛有篇关于按键的帖子,还是不错的,只用一个变量来完成 挺好的
wyxy163@126.com 回答时间:2015-1-18 21:58:14
提示: 作者被禁止或删除 内容自动屏蔽

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版