赞
踩
固件库模板
MDK5开发环境
stm32参考手册
UART串口协议
stm32中断概念
HC-05命令集
利用固件库模板点灯工程(下面第三行,手动狗头)
CH340 USB→TTL模块
蓝牙HC-05模块
手机软件
实验程序已经发布到百度网盘,本文末有链接可以自取
串口协议查看这篇博客USART串口协议
stm32中断概念STM32中断应用概括
HC-05命令文件:HC-05命令
串口调试工具
https://pan.baidu.com/s/1V-jRJzb0INDXDLo9I4CJ6A 提取码:0000
手机软件管家下载下面两个工具
标号 | PIN | 引脚说明 |
---|---|---|
1 | STATE | 状态引出引脚(未连接时输出低电平,连接时输出高电平) |
2 | RXD | 接收端 |
3 | TXD | 发送端 |
4 | GND | 模块供电负极 |
5 | VCC | 模块供电正极 |
6 | EN | 使能端,需要进入命令模式时接3.3V |
本模块使用USART协议,具体请看下面两个博客,这里就不继续讲解了
USART串口协议
四、stm32-USART串口通讯(重定向、接发通信、控制LED亮灭)
工作模式: 自动连接
(automatic connection) ,又称为透传模式;命令回应
(order-response) ,又称为AT模式(AT mode)
进入 AT 命令
有二种方法:
正常模式是9600、AT模式波特率固定38400,8位数据位、1位停止位、无奇偶校验的通信格式。
(1)发送AT\r\n,回复OK;
(2)发送AT+UART?\r\n,回复+UART 9600,0,0
(3)发送AT+UART=115200,0,0\r\n,回复OK。即为波特率配置成功。
0
——指定蓝牙地址连接模式(指定蓝牙地址由绑定指令设置) 1
——任意蓝牙地址连接模式(不受绑定指令设置地址的约束)2
——回环角色(Slave-Loop) 默认连接模式:0) 。使能 RX 和 TX 引脚 GPIO 时钟和 USART 时钟;
初始化 GPIO,并将 GPIO 复用到 USART 上;
配置 USART 参数;
配置中断控制器并使能 USART 接收中断;
使能 USART;
在 USART 接收中断服务函数实现数据接收和发送。
四、stm32-USART串口通讯(重定向、接发通信、控制LED亮灭)
这里已经勾选发送新行,直接AT就行,否则为AT\r\n
4. 发送AT
,回复OK;
5. 发送AT+UART?
,回复+UART 9600,0,0
6. 发送AT+UART=115200,0,0
,回复OK。即为波特率配置成功。
7. AT+NAME= "XXX"
修改蓝牙模块名称为XXX
8. AT+ROLE=0
蓝牙模式为从模式
9. AT+CMODE=1
蓝牙连接模式为任意地址连接模式,也就是说该模块可以被任意蓝牙设备连接
10. AT+PSWD= "1234"
蓝牙配对密码为1234
11. AT+UART=9600,0,0
蓝牙通信串口波特率为9600,停止位1位,无校验位.
配置结束,需带电重启一次。
stm32f103c8t6自带一个led灯,使用PC13引脚就行了,
切记尽量避免使用PB3、PB4,具体看stm32f103c8t6使用PB3和PB4做普通GPIO使用时发现异常
#include "led.h" //绑定led.h void LED_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStruct; //初始化参数结构体指针,结构体类型为 GPIO_InitTypeDef。 //开启RCC时钟 RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE); //配置初始化,推挽输出方式和LED_G_GPIO_PIN管脚、赫兹 GPIO_InitStruct.GPIO_Pin = LED_G_GPIO_PIN; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; //GPIO口初始化 GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct); }
#ifndef __LED_H_
#define __LED_H_
#include &
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。