/*********************************************************************************************/
【*】程序简介
-工程名称:GPIO输入—按键检测
-实验平台: STM32 霸道 开发板
【 !】功能简介:
通过按键的开关来控制LED的亮灭
【 !】实验操作:
编译并下载程序到开发板,复位后按下按键可以控制LED的亮灭状态
/*********************************************************************************************/
【*】 引脚分配
按键:
SW1 <-----> PA0
SW2 <-----> PC13
按下按键,对应引脚为高电平。
LED:
LED_R <-----> PB5
LED_G <-----> PB0
LED_B <-----> PB1
对应引脚低电平则LED灯亮。
* 对于霸道V2板,在实验中,请不要拔掉LED灯旁边J73对应盖好的黄色跳帽,这样会导致LED失去3V3的电源而不能工作。
/*********************************************************************************************/
【*】程序描述:
< bsp_key.h >
1.宏定义按键对应的GPIO端口,GPIO时钟,GPIO引脚
2.把按键的常用状态(按下、断开)定义成宏
< bsp_key.c >
- 按键GPIO初始化
1.引用结构体
2.开启按键的GPIO对应的外设时钟
3.设置引脚、模式
4.初始化GPIO(根据设定参数配置 GPIO)
- 检测按键的状态
1.定义Key_Scan函数用于扫描按键状态
2.利用GPIO_ReadInputDataBit函数获取GPIO引脚的输入电平
3.判断GPIO_ReadInputDataBit的返回值是否与自定义的宏KEY_ON一致,一致则循环检测按键是否释放,按键释放后则返回一个KEY_ON
<main.c>
1.调用初始化LED GPIO函数,初始化LED端口
2.调用按键GPIO初始化函数,初始化按键
3.循环检测按键状态,当检测到按键按下状态时反转LED
PS:其中,bsp_led.h 、bsp_led.c 沿用了之前中的程序
< bsp_led.h >
1.宏定义LED灯对应的GPIO端口,GPIO时钟,GPIO引脚
2.把LED的常用状态(亮、灭、状态反转)也直接定义成宏
3.把控制R、G、B灯的不同开关状态混出不同的颜色对应的状态定义成宏
< bsp_led.c >
- LED GPIO初始化
1.引用结构体
2.开启GPIO对应的外设时钟
3.设置引脚、模式、速度
4.初始化GPIO(根据设定参数配置 GPIO)
5.关闭所有的LED灯
/*********************************************************************************************/
/************** Copyright (c)***************************************/
/* 定制开发,技术V:349014857 */
/* 更多例程:https://iot666.blog.csdn.net/ */
/* 开发咨询:http://doc.yotill.com */
/******************************************************************/
/*********************************************************************************************/
没有合适的资源?快使用搜索试试~ 我知道了~
STM32F103单片机HAL库例程-GPIO引脚输入检测按键.rar
共178个文件
h:102个
c:68个
uvoptx:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 106 浏览量
2024-03-22
22:04:42
上传
评论
收藏 1.27MB RAR 举报
温馨提示
1、嵌入式物联网单片机项目开发实战。例程经过精心编写,简单好用。 2、代码使用KEIL HAL库开发,当前在STM32F103运行,如果是STM32F103其他型号芯片,依然适用,请自行更改KEIL芯片型号以及FLASH容量即可。 3、软件下载时,请注意keil选择项是jlink还是stlink。 4、技术v:349014857; 5、如果接入其他传感器,请查看发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件差异,请根据自身情况适当调整代码,程序仅供参考。 8、代码有注释说明,请耐心阅读。
资源推荐
资源详情
资源评论
收起资源包目录
STM32F103单片机HAL库例程-GPIO引脚输入检测按键.rar (178个子文件)
重置KEIL编译.bat 440B
stm32f1xx_hal_i2c.c 227KB
stm32f1xx_hal_tim.c 207KB
stm32f1xx_hal_spi.c 121KB
stm32f1xx_hal_uart.c 107KB
stm32f1xx_hal_sd.c 97KB
stm32f1xx_hal_usart.c 97KB
stm32f1xx_hal_irda.c 92KB
stm32f1xx_hal_adc.c 89KB
stm32f1xx_hal_mmc.c 88KB
stm32f1xx_hal_smartcard.c 82KB
stm32f1xx_hal_can.c 79KB
stm32f1xx_hal_eth.c 76KB
stm32f1xx_hal_nand.c 71KB
stm32f1xx_ll_usb.c 70KB
stm32f1xx_hal_tim_ex.c 62KB
stm32f1xx_hal_i2s.c 59KB
stm32f1xx_hal_pcd.c 58KB
stm32f1xx_hal_rtc.c 57KB
stm32f1xx_hal_can.c 55KB
stm32f1xx_hal_adc_ex.c 50KB
stm32f1xx_hal_rcc.c 48KB
stm32f1xx_ll_sdmmc.c 48KB
stm32f1xx_hal_dac.c 46KB
stm32f1xx_hal_hcd.c 44KB
stm32f1xx_ll_tim.c 44KB
stm32f1xx_ll_adc.c 40KB
stm32f1xx_hal_nor.c 38KB
stm32f1xx_ll_fsmc.c 37KB
stm32f1xx_hal_flash_ex.c 35KB
stm32f1xx_hal_sram.c 32KB
stm32f1xx_hal_cec.c 30KB
stm32f1xx_hal_rcc_ex.c 29KB
stm32f1xx_hal_pccard.c 29KB
stm32f1xx_hal_flash.c 29KB
stm32f1xx_hal_dma.c 27KB
stm32f1xx_ll_utils.c 22KB
stm32f1xx_hal_pwr.c 20KB
stm32f1xx_hal_gpio.c 20KB
stm32f1xx_ll_spi.c 20KB
stm32f1xx_hal.c 20KB
stm32f1xx_hal_cortex.c 18KB
stm32f1xx_ll_usart.c 17KB
stm32f1xx_ll_rtc.c 17KB
stm32f1xx_hal_rtc_ex.c 16KB
system_stm32f1xx.c 16KB
stm32f1xx_hal_exti.c 15KB
stm32f1xx_hal_dac_ex.c 15KB
system_stm32f1xx.c 14KB
stm32f1xx_ll_rcc.c 14KB
stm32f1xx_hal_wwdg.c 14KB
stm32f1xx_ll_dma.c 13KB
stm32f1xx_ll_dac.c 12KB
stm32f1xx_hal_timebase_rtc_alarm_template.c 10KB
stm32f1xx_hal_crc.c 10KB
stm32f1xx_hal_iwdg.c 8KB
stm32f1xx_ll_gpio.c 8KB
stm32f1xx_hal_pcd_ex.c 7KB
stm32f1xx_ll_i2c.c 7KB
stm32f1xx_ll_exti.c 7KB
stm32f1xx_it.c 5KB
stm32f1xx_hal_timebase_tim_template.c 5KB
stm32f1xx_hal_gpio_ex.c 4KB
bsp_led.c 3KB
main.c 3KB
stm32f1xx_ll_crc.c 3KB
stm32f1xx_ll_pwr.c 2KB
stm32f1xx_hal_msp_template.c 2KB
bsp_key.c 2KB
LED_STM32F103ZE.dbgconf 7KB
stm32f103xg.h 953KB
stm32f103xe.h 940KB
stm32f103xb.h 823KB
stm32f103x6.h 813KB
stm32f1xx_ll_adc.h 223KB
stm32_hal_legacy.h 196KB
core_cm33.h 169KB
core_armv8mml.h 162KB
stm32f1xx_ll_tim.h 158KB
core_cm7.h 142KB
core_cm4.h 119KB
stm32f1xx_hal_tim.h 111KB
core_cm3.h 107KB
core_sc300.h 106KB
stm32f1xx_hal_eth.h 101KB
core_cm23.h 100KB
stm32f1xx_hal_rcc_ex.h 97KB
stm32f1xx_ll_usart.h 97KB
core_armv8mbl.h 94KB
stm32f1xx_ll_gpio.h 86KB
stm32f1xx_ll_rcc.h 82KB
stm32f1xx_ll_dma.h 75KB
stm32f1xx_hal_rcc.h 65KB
stm32f1xx_ll_i2c.h 62KB
stm32f1xx_ll_spi.h 61KB
stm32f1xx_ll_dac.h 61KB
cmsis_gcc.h 59KB
stm32f1xx_ll_sdmmc.h 59KB
cmsis_armclang.h 53KB
stm32f1xx_hal_adc.h 51KB
共 178 条
- 1
- 2
资源评论
电子类产品开发
- 粉丝: 3202
- 资源: 891
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 一个相当完整的与 VB6 兼容的 DirectX 11 类型库.zip
- 一个用 DirectX11 编写的 helloworld OpenVR 程序 .zip
- 一个玩具 c++,directX 游戏引擎 .zip
- 基于计算机视觉yolov5算法实现小鼠肿瘤块检测及尺寸大小预测系统python源码+模型+测试数据.zip
- QML系统整机测试模板,包含磁盘阵列RAID管理、系统压力测试、整机拷机测试、日志收集、用户权限管理
- NVIDIA GeForce 7 Series显卡驱动下载
- 一个正在开发的现代 C++20 跨平台游戏引擎,带有 C# 脚本 .zip
- sssssssseffffffffffssdddd
- 使用kettle完成数据集管理.pptx
- 一个挂接 DirectX 并显示简单 AntTweakBar 菜单的示例项目 .zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功