学习分享:STM32F103开发板按键控制LED灯

这是基于正点原子 STM32F103开发板进行学习的分享

主要编写了led.c,led.h,key.c,key.h,main.c这五个代码页

LED.C

#include "./BSP/LED/led.h"
void led_init(void)
{
    GPIO_InitTypeDef gpio_init_struct;
    LED0_GPIO_CLK_ENABLE();                                 /* LED0时钟使能 */
    LED1_GPIO_CLK_ENABLE();                                 /* LED1时钟使能 */

    gpio_init_struct.Pin = LED0_GPIO_PIN;                   /* LED0引脚 */
    gpio_init_struct.Mode = GPIO_MODE_OUTPUT_PP;            /* 推挽输出 */
    gpio_init_struct.Pull = GPIO_PULLUP;                    /* 上拉 */
    gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH;          /* 高速 */
    HAL_GPIO_Init(LED0_GPIO_PORT, &gpio_init_struct);       /* 初始化LED0引脚 */

    gpio_init_struct.Pin = LED1_GPIO_PIN;                   /* LED1引脚 */
    HAL_GPIO_Init(LED1_GPIO_PORT, &gpio_init_struct);       /* 初始化LED1引脚 */

    LED0(1);                                                /* 关闭 LED0 */
    LED1(1);                                                /* 关闭 LED1 */
}
 

LED.H

#ifndef _LED_H
#define _LED_H
#include "./SYSTEM/sys/sys.h"


/******************************************************************************************/
/* 引脚 定义 */

#define LED0_GPIO_PORT                  GPIOB
#define LED0_GPIO_PIN                   GPIO_PIN_5
#define LED0_GPIO_CLK_ENABLE()          do{ __HAL_RCC_GPIOB_CLK_ENABLE(); }while(0)             /* PB口时钟使能 */

#define LED1_GPIO_PORT                  GPIOE
#define LED1_GPIO_PIN                   GPIO_PIN_5
#define LED1_GPIO_CLK_ENABLE()          do{ _

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于STM32的蓝牙控系统设计评估 蓝牙控系统是一种可通过蓝牙连接进行远程操控的控制系统。它可以实现手机APP远程控制光的开关、调节亮度、调节颜色等功能。本文将对基于STM32的蓝牙控系统进行设计评估。 硬件设计 硬件设计包括主控芯片、蓝牙模块、LED和电源等。我们选择了STM32F103C8T6作为主控芯片,采用蓝牙4.0BLE模块,配合RGB LED条进行控制,使用12V DC电源供电。 软件设计 软件设计主要包括蓝牙通信协议设计、控制算法设计和手机APP开发等。 蓝牙通信协议设计:通过蓝牙连接,将手机APP发出的控制指令传输到主控芯片,实现控制。在通信协议设计中,需要考虑数据传输的稳定性和安全性。 控制算法设计:根据不同的控制指令,控制LED的显示效果。在控制算法设计中,需要考虑亮度调节、颜色调节和光模式切换等功能。 手机APP开发:开发一款简洁易用的手机APP,实现远程控制光的开关、亮度调节、颜色调节和光模式切换等功能。在APP开发中,需要考虑界面设计、数据传输和兼容性等问题。 评估 基于STM32的蓝牙控系统具有以下优点: 1. MCU性能优越,可以实现多种控制算法,以及对多个光设备的控制。 2. 蓝牙模块采用BLE 4.0技术,通信稳定,传输速率快,安全性高。 3. 控制算法设计合理,支持多种亮度、颜色和模式的调节。 4. 手机APP开发简单易用,用户体验良好。 但是,基于STM32的蓝牙控系统也存在一些不足之处: 1. 由于使用了12V DC电源供电,需要进行一定的电路设计,增加了硬件设计和制造的成本。 2. 蓝牙模块的连接距离受限,无法实现长距离控制。 3. 由于手机APP的兼容性问题,可能存在不同手机型号无法连接的情况。 结论 基于STM32的蓝牙控系统设计合理,具有实用性和可行性。但是需要在硬件和软件方面继续优化,以提高控制效果和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值