当前位置: 首页 > news >正文

手机蓝牙发送指令STM32串口接收控制 LED 亮灭

最经典的 STM32 蓝牙入门实验,逻辑非常简单:
手机蓝牙发送指令 → STM32 串口接收 → 控制 LED 亮灭

STM32F103 + HC‑05 蓝牙模块


一、硬件连接

1、HC‑05 蓝牙模块 ↔ STM32F103

HC‑05 STM32F103 说明
VCC 5V 蓝牙功耗较大
GND GND
TXD PA10 (USART1_RX) 蓝牙 → 单片机
RXD PA9 (USART1_TX) 单片机 → 蓝牙

注意

  • HC‑05 是 3.3V 电平容忍,RX 可直接接 STM32
  • 如果不确定,串 1k 电阻更安全

2、 LED 连接

LED STM32
正极 PB12(串联 220Ω 电阻)
负极 GND

二、软件设计思路

手机蓝牙APP↓
HC-05 串口↓
USART1 接收中断↓
判断收到 '1' / '0'↓
PB12 输出高 / 低

三、核心源码(标准外设库)

1、LED 初始化

// led.c
#include "led.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"void LED_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_SetBits(GPIOB, GPIO_Pin_12); // 默认熄灭
}
// led.h
#ifndef __LED_H
#define __LED_Hvoid LED_Init(void);
#define LED_ON()  GPIO_ResetBits(GPIOB, GPIO_Pin_12)
#define LED_OFF() GPIO_SetBits(GPIOB, GPIO_Pin_12)#endif

2、串口初始化(蓝牙)

// usart.c
#include "usart.h"
#include "stm32f10x_usart.h"void USART1_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);// PA9 TXGPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);// PA10 RXGPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA, &GPIO_InitStructure);USART_InitStructure.USART_BaudRate = 9600;   // HC-05 默认波特率USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_StopBits_1;USART_InitStructure.USART_Parity = USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_Init(USART1, &USART_InitStructure);USART_Cmd(USART1, ENABLE);// 开启接收中断USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);
}

3、串口中断(核心逻辑)

// usart.c(续)
#include "led.h"void USART1_IRQHandler(void)
{uint8_t data;if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET){data = USART_ReceiveData(USART1);if(data == '1'){LED_ON();      // 手机发 1 → LED亮}else if(data == '0'){LED_OFF();     // 手机发 0 → LED灭}}
}

4、 main.c

#include "stm32f10x.h"
#include "led.h"
#include "usart.h"int main(void)
{LED_Init();USART1_Init();while(1){// 主循环什么都不用做}
}

参考代码 STM32蓝牙接收让LED亮 www.youwenfan.com/contentcnv/103461.html

四、手机端操作

安卓 APP 推荐

  • 蓝牙串口助手
  • Serial Bluetooth Terminal

操作步骤

  1. 打开手机蓝牙

  2. 搜索并配对 HC‑05(密码一般是 12340000

  3. 连接成功后

  4. 发送:

    1  → LED 亮
    0  → LED 灭
    

五、常见问题排查

现象 原因
没反应 波特率不是 9600
乱码 晶振不是 8MHz
能配对但收不到 TX/RX 接反
LED 不亮 引脚不对 / 没接电阻
只能接收一次 没清中断标志
http://www.gsyq.cn/news/1465998.html

相关文章:

  • 【X5】快速调试验证MIPI摄像头
  • 企业AI编程解决方案:2026最新权威AI编程工具必看开篇
  • Hybrid Search + RRF + Reranker:打造电商 RAG 的精准检索三件套
  • 2026 张家界防水补漏三家品牌横向测评:厨卫屋面地下室修缮哪家靠谱?吉修匠 99.8 分五星稳居榜首 - 吉修匠
  • DenseNet实战:用TensorFlow 2.x在小型数据集上做图像分类,参数少效果也不错
  • 不只是驱动问题:深度解析TI XDS100仿真器EEPROM数据损坏的根源与预防
  • 跳出传统 Agent 桎梏,浅析代码即智能体的底层运行逻辑与落地实践
  • MuleSoft企业级AI编排:让大模型真正融入ERP/CRM核心业务流
  • 2026年高县亲子水上乐园选型指南:龙源溪山泉水乐园深度评测 - 企业名录优选推荐
  • 别再傻傻分不清了!SCI、EI、IEEE到底该投哪个?给研究生和工程师的选刊避坑指南
  • 2026 黄石防水补漏三家品牌横向测评:厨卫屋面地下室修缮哪家靠谱?吉修匠 99.8 分五星稳居榜首 - 吉修匠
  • CMOS图像传感器硬件设计参考图集:含像素结构、读出电路与接口连接详解
  • 宿舍党福音:用40块的斐讯K2+Padavan搞定校园网锐捷6.41认证(静态IP版)
  • C++嵌入式智能车自动驾驶工程包,含双分支开发目录与可编译源码
  • 从‘老师点名’到芯片调度:用生活例子彻底搞懂Round Robin仲裁器的工作原理与设计陷阱
  • PX4飞控调试避坑指南:Offboard模式前必须检查的7个参数(安全第一)
  • 重新定义汽车保养!别只换机油,90%车主忽略的养车真相!
  • 2026年天津滨江道必吃海鲜攻略:本地人私藏的海肠捞饭大王与平价海鲜正餐指南 - 优质企业观察收录
  • SSM架构的Java网上书城实战项目(含前后台+数据库+演示视频)
  • 2026新疆靠谱持证导游TOP8 本地人纯玩高评分推荐 - 盛世西域旅行
  • 2026 三门峡防水补漏三家品牌横向测评:厨卫屋面地下室修缮哪家靠谱?吉修匠 99.8 分五星稳居榜首 - 吉修匠
  • 正在拖慢你 AI 智能体落地的 5 个数据基础与技术栈缺口
  • 河南隔音房厂家直销_性价比高降噪效果好
  • 如何用AnythingLLM打造你的专属AI知识库:零配置快速上手指南
  • 树莓派TF卡坏了别慌!手把手教你用Win32 Disk Imager无损克隆系统盘(Raspberry Pi 4实测)
  • TrafficMonitor插件:5分钟打造你的Windows桌面全能助手
  • 粽香投票评选怎么创建?云众评选策划方案 - 微信投票小程序
  • 2026年贵阳卤菜加盟完全指南:5大品牌深度对比与创业决策 - 优质企业观察收录
  • 智能家居B端生态位架构:从单体应用到微服务化分拆的八大关键角色
  • 上海执行异议律师事务所哪家专业:2026年执行异议领域律所实力对比 - 品牌2026