|
本帖最后由 damiaa 于 2015-1-7 13:59 编辑 / v4 i8 {2 ~+ n 1,开启定时中断,随便是哪个或SYTICK中断定时时间设置为5MS或多少。 2,keyup为外部变量。指示按键按下或否。' h. Y- B9 g- E# S, w 3,定时中断中调用这个函数。 void scankey(void)" ~8 t2 C3 y+ J6 k, w: `) ]. k {' b8 G1 ]+ I* F0 D static uint16_t keybuf=0; keybuf<<=1;* |& Z% G; e/ Q) [4 l: K if(GPIO_ReadInputDataBit(KEYLINE0_GPIO_PORT, KEYLINE0_PIN)) keybuf+=1; " |" t* r( i$ `2 A if(keybuf ==0xffff) keyup=1;//keyup 是外部变量指示button 是否按下。KEYLINE0_GPIO_PORT, KEYLINE0_PIN是一个IO口 if(keybuf ==0x0000) keyup=0; }& @# k! X. }1 j8 T 喜欢的就点赞一下。 + I" v% f0 S' Y& } |
| 谢谢分享 |
我借鉴原子的按键!感觉不错!!![]() |
|
论坛有篇关于按键的帖子,还是不错的,只用一个变量来完成 挺好的 |
论坛有篇关于按键的帖子,还是不错的,只用一个变量来完成 挺好的 |
微信公众号
手机版