完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
1个回答
|
|
按键可以用按键扫描的方法和外部中断的方法。 外部中断看前面,个人推荐使用外部中断更好。 其余情况可以用按键扫描,这里只讲按键扫描的方法。 先在main.h中定义按键名称 #define KEY0 HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_5) //KEY0按键PC5 #define KEY1 HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_15) //KEY1按键PA15 #define WK_UP HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0) //WKUP按键PA0 #define KEY0_PRES 1 //KEY0 #define KEY1_PRES 2 //KEY1 #define WKUP_PRES 3 //WK_UP 在main.c中定义按键扫描函数 int KEY_Scan(int mode) { static int key_up=1;//按键按松开标志 if(mode) key_up=1; //支持连按 if(key_up&&(KEY0==0||KEY1==0||WK_UP==1)) { HAL_Delay(10);//去抖动 key_up=0; if(KEY0==0)return KEY0_PRES; else if(KEY1==0)return KEY1_PRES; else if(WK_UP==1)return WKUP_PRES; }else if(KEY0==1&&KEY1==1&&WK_UP==0)key_up=1; return 0;// 无按键按下 } 最后在main.c中的while循环中添加: key = KEY_Scan(0); //得到键值 switch(key) { case KEY0_PRES: .... break; ... ... } 即可。 I will make a difference. |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1561 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1501 浏览 1 评论
933 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
665 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1555 浏览 2 评论
1847浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
609浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
503浏览 3评论
507浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
488浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 13:44 , Processed in 0.486950 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号