STM32F429 >> 5. 按键控制LED 开关

发布者:CelestialLight最新更新时间:2019-08-29 来源: eefocus关键字:STM32F429  按键控制  LED  开关 手机看文章 扫描二维码
随时随地手机看文章

本工程板级支持包文件适用于野火stm32f429 开发板。

本工程中涉及bsp_led.c, bsp_led.h 等文件,请前往STM32F429 >> 4. 使用固件库点亮LED进行查看


bsp_key.c

/**

  ******************************************************************************

  * @file    bsp_key.c

  * @author  Waao

  * @version V1.0.0

  * @date    20-Dec-2018

  * @brief   This file contains some board support package's functions for the KEY.

  *            

  ******************************************************************************

  * @attention

  *

  * None

*

  ******************************************************************************

  */


#include


/**

  * @brief  Initialize the key.

  * @note   None

  * @param  None  

  * @retval None

  */

void KEY_GPIO_Config(void)

{

GPIO_InitTypeDef GPIO_Structure;

RCC_AHB1PeriphClockCmd(KEY1_GPIO_CLK, ENABLE);

RCC_AHB1PeriphClockCmd(KEY2_GPIO_CLK, ENABLE);


GPIO_Structure.GPIO_Mode = GPIO_Mode_IN;

GPIO_Structure.GPIO_Speed = GPIO_Medium_Speed;

GPIO_Structure.GPIO_OType = GPIO_OType_PP;

GPIO_Structure.GPIO_PuPd = GPIO_PuPd_DOWN;

GPIO_Structure.GPIO_Pin = KEY1_PIN;

GPIO_Init(KEY1_GPIO_PORT, &GPIO_Structure);


GPIO_Structure.GPIO_Pin = KEY2_PIN;

GPIO_Init(KEY2_GPIO_PORT, &GPIO_Structure);

}



/**

  * @brief  Detect the key whether be pressed down actually.

  * @note   None

* @param  GPIOx: where x can be (A..K) to select the GPIO peripheral.

*         GPIO_Pin: specifies the port bit to read. This parameter can be GPIO_Pin_x where x can be (0..15). 

  * @retval The status of the input port.

  */

int Key_Scan(GPIO_TypeDef * GPIOx, uint16_t GPIO_Pin)

{

if(GPIO_ReadInputDataBit(GPIOx, GPIO_Pin) == KEY_ON)

{

while(GPIO_ReadInputDataBit(GPIOx, GPIO_Pin) == KEY_ON);

return KEY_ON;

}

else

return KEY_OFF;

}


bsp_key.h

/**

  ******************************************************************************

  * @file    bsp_key.h

  * @author  Waao

  * @version V1.0.0

  * @date    20-Dec-2018

  * @brief   This file contains some board support package's definition for the KEY.

  *            

  ******************************************************************************

  * @attention

  *

  * None

*

  ******************************************************************************

  */

#ifndef __BSP_KEY_H_

#define __BSP_KEY_H_



#include


#define KEY1_PIN             GPIO_Pin_0

#define KEY1_GPIO_PORT       GPIOA

#define KEY1_GPIO_CLK        RCC_AHB1Periph_GPIOA


#define KEY2_PIN             GPIO_Pin_13

#define KEY2_GPIO_PORT       GPIOC

#define KEY2_GPIO_CLK        RCC_AHB1Periph_GPIOC


#define KEY_ON              1

#define KEY_OFF             0



void KEY_GPIO_Config(void);

int Key_Scan(GPIO_TypeDef * GPIOx, uint16_t GPIO_Pin);



#endif


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

main.c

#include

#include

#include "bsp_led.h"


int main(void)

{

LED_GPIO_Config();

KEY_GPIO_Config();

LED_BLUE;

while(1)

{

if(Key_Scan(KEY2_GPIO_PORT, KEY2_PIN) == KEY_ON)

{

LED3_TOGGLE;

}

if(Key_Scan(KEY1_GPIO_PORT, KEY1_PIN) == KEY_ON)

{

LED3_TOGGLE;

}

}

}



关键字:STM32F429  按键控制  LED  开关 引用地址:STM32F429 >> 5. 按键控制LED 开关

上一篇:STM32F429 >> 4. 使用固件库点亮LED
下一篇:STM32F429 >> 6. RCC-使用HSE, HSI 配置时钟

推荐阅读最新更新时间:2024-11-08 22:06

安徽帝晶高效并且高精度型Mini LED封胶装置方案
目前,随着 Mini LED 显示技术的迅速发展,Mini LED 显示产品已开始应用于超大屏高清显示,如监控指挥、高清演播、高端影院、医疗诊断、广告显示、会议会展、办公显示以及虚拟现实等商用领域。 我们知道,Mini LED定义为:芯片尺寸介于50~200μm之间的LED器件。在其相关技术中,Mini LED涂胶封装一般采用单头线行程的涂布方式,即PCB板放置于平台上,设备驱使点胶头沿PCB板来回移动,将胶水涂布于PCB板上。 但如果采用这种方式,一方面由点到线再到面的涂布方式效率较低;另一方面涂胶过程中,胶水容易溅落至AA区,不仅精度较差,也容易影响产品质量。为此,安徽帝晶在2021年7月15日申请了一项名为“一种新型高效高精
[手机便携]
安徽帝晶高效并且高精度型Mini <font color='red'>LED</font>封胶装置方案
基于AVR的LED照明灯控制系统的应用设计
1 LED照明灯控制系统原理 系统原理图如图1所示。当红外接收器接收到红外遥控信号时,通过外部中断将AVR单片机从休眠模式中唤醒;AVR单片机开始解析红外信号,如果与系统地址匹配,则将根据解析到的命令改变LED恒流源驱动的输入,从而改变LED灯的状态。 2 系统硬件设计 2.1 控制器 控制器采用AVR单片机ATmega8。ATmega8是Atmel公司在2002年推出的一款AVR单片机,采用小引脚封装。ATmega8内部集成 8 KB的可编程F1ash、512字节EEPROM和1KB内部SRAM;3个PWM通道,可实现任意小于16位、相位和频率可调的PWM脉宽调制输出;1 个可编程的串行USART接口,支持同步、异步以
[电源管理]
基于AVR的<font color='red'>LED</font>照明灯<font color='red'>控制</font>系统的应用设计
开关电源PCB电磁兼容性的建模分析
  开关电源的共模干扰和差模干扰对电路的影响是不同的,通常低频时差模噪声占主导地位,高频时共模噪声占主导地位,而且共模电流的辐射作用通常比差模电流的辐射作用要大得多,因此,区分电源中的差模干扰和共模干扰是很有必要的。   为了区分出差模干扰和共模干扰,我们首先需要对开关电源的基本耦合方式进行研究,在此基础上我们才能建立差模噪声电流和共模噪声电流的电路路径。开关电源的传导耦合主要有:   电路性传导耦合、电容性耦合、电感性耦合以及这几种耦合方式的混合。   1 共模和差模噪声路径模型   开关电源中由于高频变压器原副边绕组之间存在的耦合电容CW、功率管与散热器之间存在的杂散电容CK、功率管自身的寄生参数以及印制导
[电源管理]
<font color='red'>开关</font>电源PCB电磁兼容性的建模分析
LED路灯恒流模块的设计
我们知道所有的LED都必须采用恒流源供电,但是目前很多路灯制造商是在LED模块已经设计好的情况下寻找合适的恒流模块。殊不知这种设计方法是会遇到问题的,至少这种设计不是最佳的。有可能还要重新设计LED模块。   经常收到客户的电话询问,你们的恒流驱动模块能够带多大的功率的LED啊?这种问题实际上是无法回答的。因为恒流模块能够带多大的功率与很多因素有关。从恒流模块本身来说,它主要与散热要求和散热条件有关,当然也和驱动芯片的电流驱动能力有关。然而即使这些都已经确定下来,例如已经选定了SLM2842这一款恒流模块,那么他的驱动能力似乎完全确定了!其实不然!虽然它的极限驱动能力是已知的,例如它最大开关电流,最大输入电流,最大输入电压和最
[电源管理]
C51---3.2 独立按键控制LED亮灭状态
原理图 按键消抖 对于机械开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,所以在开关闭合及断开的瞬间会伴随一连串的抖动。所以我们需要给按键进行延时消抖 main函数 独立按键控制LED灯亮灭 按键按下并松开时 LED灯状态翻转 #include REGX52.H //0 num 65535 void Delay_ms(unsigned int num) //@12.000MHz { unsigned char i, j; while(num) { i = 2; j = 239; do { while (-
[单片机]
C51---3.2 独立<font color='red'>按键</font><font color='red'>控制</font><font color='red'>LED</font>亮灭状态
24. 8X8 LED点阵显示技术
1. 实验任务 在8X8 LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。 2. 电路原理图 图4.24.1 3. 硬件电路连线 (1). 把 单片机系统 区域中的P1端口用8芯排芯连接到 点阵模块 区域中的 DR1-DR8 端口上; (2). 把 单片机系统 区域中的P3端口用8芯排芯连接到 点阵模块 区域中的 DC1-DC8 端口上; 4. 程序设计内容 (1). 8X8 点阵LED工作原理说明 8X8点阵LED结构如下图所示 从图4.24.2中可以看出,8X8点阵共需要64个发光二极管
[单片机]
24. 8X8 <font color='red'>LED</font>点阵显示技术
2010年IIC-China春季展四大热点抢先看
      2010年3月初,大型系统设计盛会IIC-China将在深圳、成都、上海三地相继召开,112多家国际半导体巨头及中国本土厂商将纷纷闪亮登场。在展会开幕之前,本刊回顾过去一年半导体技术的发展,带您了解一些即将展出的热门产品及最新技术。 智能手机、上网本等消费电子强调上网体验    “网络无处不在”是未来所有主流消费终端的共同要求,这将给智能手机、上网本、智能本、移动互联网设备(MID)、PMP、电子书等新兴便携式消费电子设备带来的巨大商机。在2010年IIC-China春季展上,众多参展商将围绕这些热点应用展示丰富多彩的解决方案和半导体器件。   上网本以经济实惠的方式提供最佳的上网体验,在2009年迅速掀起
[家用电子]
“神七七号”—飞船首次采用LED照明系统
  新华社记者24日从中国科学院上海技术物理研究所获悉,该所研制的“神舟七号出舱活动照明灯”将为航天员出舱行走以及太空图像拍摄提供照明。这将是世界上首次使用LED(发光二极管)光源作为载人航天器的照明系统,也是我国首个用于太空舱外的照明系统。 “神七”照明灯将在航天员太空行走中发挥十分重要的作用。“神七”进入轨道后,将每90分钟绕地球一圈,其中必然有一段时间处于地影区,届时舱外十分漆黑,航天员出舱行走必须有光源照明,摄像系统也需要照明。 “神七”照明灯研发负责人张涛研究员告诉记者,“神七”照明灯采用的是最先进的LED技术。我国也是世界上第一个采用LED技术作为太空舱外照明的国家,此前国外一般采用金属灯进行太空舱外照
[焦点新闻]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved