本帖最后由 damiaa 于 2015-1-7 13:59 编辑 1,开启定时中断,随便是哪个或SYTICK中断定时时间设置为5MS或多少。6 `9 h3 A2 }6 R( u5 t 2,keyup为外部变量。指示按键按下或否。 3,定时中断中调用这个函数。0 E% Q3 i, p) t2 O8 v/ _ O1 Z void scankey(void) { static uint16_t keybuf=0; keybuf<<=1; 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; }! V: B; n5 v& y2 V5 g0 _$ G: n $ u- }/ O0 Y, b+ j& u 喜欢的就点赞一下。1 ?% f2 R' e/ V |
谢谢分享 |
我借鉴原子的按键!感觉不错!! |
|
论坛有篇关于按键的帖子,还是不错的,只用一个变量来完成 挺好的 |
论坛有篇关于按键的帖子,还是不错的,只用一个变量来完成 挺好的 |