你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F411【Nucleo】第四课--按键轮询模式(基于keil5.13)

[复制链接]
颩色四葉愺 发布时间:2015-2-4 19:38
本帖最后由 颩色四葉愺 于 2015-2-4 19:42 编辑

通过轮询的方式检测按键是否按下,若按键按下则板载led灯的状态就反转

(1)建立工程,新建工程的步骤就不说了!请参考我之前的帖子:STM32F411【Nucleo】第一课--新建工程(基于keil 5.13)
(2)添加led相关文件,参考我写的led驱动
STM32F411【Nucleo】第二课--led灯(基于keil5.13)
添加延时相关函数,利用SysTick定时器精确延时,参考帖子
STM32F411【Nucleo】第三课--sysTick定时器(基于keil5.13)
(3)新建bsp_key.c 和bsp_key.h
bsp_key.c
  1. #include "bsp_key.h"

  2. void KEY_Init(void)
  3. {
  4.         GPIO_InitTypeDef GPIO_InitStructure;
  5.         
  6.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);
  7.         /******使能GPIOC时钟*****/
  8.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;
  9.         /******KEY对应引脚*****/
  10.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;
  11.         /******普通输入模式*****/
  12.         GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
  13.         /*****上拉******/
  14.         GPIO_Init(GPIOC,&GPIO_InitStructure);
  15.         /******初始化PC13*****/
  16. }
复制代码

bsp_key.h
  1. #ifndef _BSP_KEY_H_
  2. #define _BSP_KEY_H_
  3. #include "stm32f4xx.h"

  4. #define KEY GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13)

  5. void KEY_Init(void);
  6.         
  7. #endif
复制代码

编译下载后,按下按键就能看到led灯状态反转了
4.按键(轮询方式).zip (8.96 MB, 下载次数: 214)
收藏 1 评论5 发布时间:2015-2-4 19:38

举报

5个回答
湮灭-422015 回答时间:2015-2-4 19:56:18
顶!!!!
沐紫 回答时间:2015-2-5 09:51:46
非常好,谢谢楼主
112207301219 回答时间:2015-7-28 13:40:57
感谢分享
yanhaijian 回答时间:2015-7-28 18:14:26
来劲了,真的停不下来。
huaimaoatangge 回答时间:2018-8-20 17:32:37
顶一个!!!!!

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版