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

stm32 按键简易防抖法。

[复制链接]
damiaa 发布时间:2015-1-7 13:53
本帖最后由 damiaa 于 2015-1-7 13:59 编辑
5 Q; ]3 [! p  {' ?  R3 `" u. E6 ?- \4 S
1,开启定时中断,随便是哪个或SYTICK中断定时时间设置为5MS或多少。/ T* w# x* G! j  ?+ T
2,keyup为外部变量。指示按键按下或否。
% \3 D- C9 q7 D8 H1 r% B3,定时中断中调用这个函数。1 k/ u! \8 \4 n. v  R4 M1 E
void scankey(void)5 O  j; \* o- Y. X  P
{- R' s7 e5 ]) U
   static uint16_t  keybuf=0;   keybuf<<=1;  T7 K9 M/ r: Q2 N" Z
  if(GPIO_ReadInputDataBit(KEYLINE0_GPIO_PORT, KEYLINE0_PIN)) keybuf+=1;' V2 g$ |. N  a5 @8 p3 B' c3 T5 f7 @

2 j/ D. K4 s* ]2 f" j" x if(keybuf ==0xffff) keyup=1;//keyup 是外部变量指示button 是否按下。KEYLINE0_GPIO_PORT, KEYLINE0_PIN是一个IO口
. \  o* z5 a6 Q. P6 B if(keybuf ==0x0000) keyup=0;
# l; c0 l; d: M/ u4 C}
  w$ ^0 s: q& D4 b; ]" ^) @) y$ ~) n7 S: s9 i4 Y% q
喜欢的就点赞一下。: ?2 n* w. I! R& b- P( w
收藏 评论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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版