玩转X-CTR100 l STM32 l STM32F4 l 蓝牙串口通信

我造轮子,你造车,创客一起造起来!更多塔克创新资讯【塔克社区 www.xtark.cn 】【塔克博客 www.cnblogs.com/xtark/ 】

蓝牙串口通信模块,X-CTR100控制器通过蓝牙串口,可以实现与安卓手机、苹果手机和PC机的近距离无线通信。
原理
常用蓝牙串口模块有两种,HC06,BT06,本文使用介绍BT06模块,HC06模块与之类似。
BT06蓝牙模块是专为智能无线数据传输而打造,遵循V3.0 蓝牙规范。支持UART接口,并支持SPP蓝牙串口协议,具有成本低、体积小、功耗低、收发灵敏性高等优点,只需配备少许的外围元件就能实现其强大功能。
特点
蓝牙V3.0+EDR
蓝牙Class 2
内置PCB射频天线
支持UART接口
3.3V电源
应用领域
该模块主要用于短距离的数据无线传输领域。可以方便的和PC机的蓝牙设备相连,也可以两个模块之间的数据互通。避免繁琐的线缆连接,能直接替代串口线。
※ 蓝牙无线数据传输;
※ 工业遥控、遥测;
※ POS系统,无线键盘、鼠标;
※ 交通,井下定位、报警;
※ 自动化数据采集系统;
※ 无线数据传输;银行系统;
※ 无线数据采集;
※ 楼宇自动化、安防、机房设备无线监控、门禁系统;
※ 智能家居、工业控制;
※ 汽车检测设备;
※ 电视台的互动节目表决设备;
※ 政府路灯节能设备
※ 无线LED显示屏系统
※ 蓝牙操纵杆、蓝牙游戏手柄
※ 蓝牙打印机
※ 蓝牙遥控玩具
※ 汽车诊断仪 OBDII
LED用于指示蓝牙模块所处状态,LED灯闪烁方式与蓝牙模块状态对应见下表:
|
模式 |
LED显示 |
模块状态 |
|
|
从模式 |
均匀慢速闪烁(800ms-on,800ms-off) |
等待配对 |
|
|
长亮 |
建立连接 |
主机中断指示:P05
用于指示主机中断与否,连接状态为高电平,其他状态低电平。
硬件
蓝牙模块与X-CTR100控制器LA接口UART1连接,与CH340USB串口共用。

通信效果
BT06蓝牙模块可以与安卓手机、苹果手机、PC机通信。
通过自己实测及网络问题查询,Windows系统蓝牙串口支持不完善,测试过XP、Win7、Win10,效果都不好。
并且会出现难删掉的垃圾COM口,体验实在太差,不建议使用蓝牙与Windows通信。
建议使用蓝牙模块与手机通信,本文使用安卓手机测试,效果较好。

用户可以通过串口和 BT06蓝牙进行通信,串口使用 Tx, Rx 两根信号线,
波特 率 支 持 1200,2400,4800,9600,14400,19200,38400,57600,115200,230400,460800 和921600bps。
串口缺省波特率为 9600bps,修改为115200。
|
下行指令 |
响应 |
参数 |
|
AT+BAUD<Param> |
OK |
<Param>:波特率 1---1200 2---2400 3---4800 4---9600 5---19200 6---38400 7---57600 8---115200 9---230400 A---460800 B---921600 C---1382400 默认:4---9600 |
|
AT+BAUD |
+BAUD=<Param> OK |
例:发送:AT+BAUD8
返回:+BAUD=8
此时波特率为 115200
注意:波特率更改以后,如果不是默认的 9600,在以后参数设置或进行数据通信时,需使用所设置的波特率。
首次搜索蓝牙输入收入PIN码,默认为"1234",手机使用蓝牙串口助手,可从各大应用市场搜索下载,效果如下。

玩转X-CTR100 l STM32 l STM32F4 l 蓝牙串口通信的更多相关文章
- stm32 普通IO口模拟串口通信
普通IO口模拟串口通信 串口通信协议 串口传输 默认 波特率9600 1起始位 1停止位 其他0 数据位是8位(注意图上的给错了). 传输时,从起始位开始,从一个数据的低位(LSB)开始发送,如图从左 ...
- 玩转X-CTR100 l STM32F4 l X-CTR100与树莓派搭建机器人平台
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器与树莓派Linux系统 ...
- Python之L.pop()和del L[i]
# -*- coding: utf-8 -*- #python 27 #xiaodeng #Python之L.pop()和del L[i] #http://python.jobbole.com/826 ...
- [stm32][ucos] 1、基于ucos操作系统的LED闪烁、串口通信简单例程
* 内容简述: 本例程操作系统采用ucos2.86a版本, 建立了5个任务 任务名 优先级 ...
- STM32串口通信UART使用
STM32串口通信UART使用 uart使用的过程为: 1. 使能GPIO口和UART对应的总线时钟 2. 配置GPIO口的输出模式 3. 配置uart口相关的基本信息 4. 使能uart口的相关的中 ...
- STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和串口只发送数据不能接收数据问题
STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085的问题讨论:http://www.rt-thr ...
- (三)stm32之串口通信DMA传输完成中断
一.DMA功能简介 首先唠叨一下DMA的基本概念,DMA的出现大大减轻了CPU的工作量.在硬件系统中,主要由CPU(内核).外设.内存(SRAM).总线等结构组成,数据经常要在内存和外设之间,外设和外 ...
- STM32学习笔记:【004】USART串口通信
版本:STM32F429 Hal库v1.10 串口通信能够实现两块电路之间不同的通信,在开发中作为打印调试也是一门利器(printf重定向). 补充一点小知识: 1. weak修饰符修饰的函数,说明这 ...
- Stm32串口通信(USART)
Stm32串口通信(UART) 串口通信的分类 串口通信三种传递方式 串口通信的通信方式 串行通信的方式: 异步通信:它用一个起始位表示字符的开始,用停止位表示字符的结束.其每帧的格式如下: 在一帧格 ...
随机推荐
- 【第六章】 springboot + 事务
在实际开发中,其实很少会用到事务,一般情况下事务用的比较多的是在金钱计算方面. mybatis与spring集成后,其事务该怎么做?其实很简单,直接在上一节代码的基础上在相应的方法(通常是servic ...
- StringBuffer中的sBuffer.delete(0,4);
只删除第0-3位的字符,第4位是不删的
- 《F4+2—团队项目设计完善&编码测试》
1:根据OOD详细设计工作要点,修改完善团队项目系统设计说明书和详细设计说明 a.软件系统设计说明书的完善 将测试启动准则,测试结束准则,测试暂停/中止标准加到了测试计划中.将把在测试中会 ...
- spring boot开发 @autowired注入失败
@autowired注入失败 会出现如下错误提示: 2018-05-28 08:39:41.857 INFO 8080 --- [ restartedMain] org.hibernate.Versi ...
- 《剑指offer》第三十三题(二叉搜索树的后序遍历序列)
// 面试题33:二叉搜索树的后序遍历序列 // 题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果. // 如果是则返回true,否则返回false.假设输入的数组的任意两个数字都 ...
- 二分检索函数lower_bound()和upper_bound()
二分检索函数lower_bound()和upper_bound() 一.说明 头文件:<algorithm> 二分检索函数lower_bound()和upper_bound() lower ...
- 女生学java是否真的没有优势
随着女性越来越独立,我们可以看到再以前我们认为不适合女性朋友从事的工作,也出现了越来越多的女生,例如对IT行业也不再跟之前一样畏惧.虽然当下很多人所持的观点依旧是,女生不适合IT行业,但是很多女生已经 ...
- ArcGIS Runtime数据制作教程
分类: ArcGIS Runtime 2012-04-20 22:25 879人阅读 评论(0) 收藏 举报 工具测试文档file工作c ArcGIS Runtime不能直接加载shp数据,或者mxd ...
- WPF样式——经典博客
WPF样式博客:http://www.cnblogs.com/luluping/archive/2011/05/06/2039498.html
- codeforces 853b//Jury Meeting// Codeforces Round #433 (Div. 1)
题意:几个人要去一个城市k天,现给出各航班的日期和花费,让这n个人能相会k天的最小花费? 用数组arr1[i]记录在第i天人到齐的最小花费.arr2[i]记录第i天之后才有人开始走的最小花费.然后取a ...