完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 heart蓝色CD 于 2018-1-29 16:35 编辑 一、概述 1、按键简介 按键是一种机械器件,按键两端分别对应某电路的两个断点,我们可以通过按键接通和断开控制该电路的电压等参数,我们利用按键做的应用通常有控制继电器、键盘、复位等。随着应用的扩展,按键已成为电路板上不可或缺的一部分。 如下图是常开按键: ![]() 2、按键类别简介 按键主要有四种类型:常开带复位、常开不带复位、常闭带复位、常闭不带复位。(本次实验使用的是常开带复位按键) 按键主要有以下4种工作模式:
使用手动按键的时候, 由于机械抖动可能造成按键的错误识别。一般手动按下按键然后释放, 按键两片金属膜接触的时间大约为50ms,按键松开到稳定的时间为5-10ms。因此,如果在首次检测到按键被按下后延时20ms 左右再次检测,即可确认是否真的有按键被按下,从而消除按键抖动造成的错误识别。本实验通过给于一定延时后再进行检测,从而有效的避免了按键抖动带来的误判。 二、硬件电路 ![]() ![]() 三、实验原理 ![]() 按键的一端与STM32的GPIO(PH15)相连,另外一端接地,且PH15外接一个1K电流大小的上拉电阻。初始化时把PH15设置成输入模式,当按键弹起时,PH15由于上拉电阻的作用呈高电平(3.3V);当按键按下时,PH15直接被按键短接到GND,呈低电平。因此判断PH15的电平变化,可得到按键状态。 四、源代码 1、主函数
2、GPIO初始化 LED的GPIO初始化配置方式与上一讲一致,以下是按键的GPIO初始化程序
3、小知识 void RCC_AHB1PeriphClockCmd (uint32_t RCC_AHB1Periph,FunctionalState NewState) 此函数为外设使能函数,第一个参数为需要被使能的外设,第二个参数为使能与否。可能很多读者看到这函数不知道如何入手,不知道参数填啥子好,别急,咱先查看一下他的定义: ![]() 查看定义方法:双击函数名选中,右击再点GO TODefinition of ...就可以查看咯。 RCC_AHB1PeriphClockCmd函数定义如下:
注意被我标红的字符串,按照刚刚查定义的方法,它会告诉我们函数的参数可以填啥。如查看IS_FUNCTIONAL_STATE:
我们可以看出第二个参数可填写DISABLE(使能)和ENABLE(不使能)。 小结:上面用外设的使能函数为大家介绍了查看函数的方法,此方法在实际应用经常可以用到,当我们在阅读、修改程序的时候,遇到哪些不太清楚的函数,就可以用这种方法查看。 五、实验现象 按键每按下一次,ARM·LED颜色变换(红色、绿色、蓝色轮流交换)一次。 六、代码包下载 复制网址到浏览器可下载pan.baidu.com/s/1sjrHnM9 |
|
相关推荐
|
|
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之USB转网络
162 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之USB摄像头
319 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之4G
563 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之wifi
1646 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之USB_OTG
969 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-7 01:57 , Processed in 0.543089 second(s), Total 43, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191