玩转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) 串口通信的分类 串口通信三种传递方式 串口通信的通信方式 串行通信的方式: 异步通信:它用一个起始位表示字符的开始,用停止位表示字符的结束.其每帧的格式如下: 在一帧格 ...
随机推荐
- The DELETE statement conflicted with the REFERENCE constraint
Page是主表,主键是pageid:UserGroupPage表中的PageID字段是Page表里的数据. https://www.codeproject.com/Questions/677277/I ...
- The destination you provided is not a full refname (i.e., starting with "refs/")
$ git push v5 v5/hotfix/5.1:hotfix/5.1-quartzerror: The destination you provided is not a full refna ...
- 卸载vs2017
卸载enterprise版本 Microsoft.FSharp.SDK.Core卸载失败Package 'Microsoft.FSharp.SDK.Core,version=15.7.20180605 ...
- 【命令】Linux常用命令
常用指令 ls 显示文件或目录ls -f 查看目录中的文件 ls -l 列出文件详细信息l(list) ls -a 列出当前目录下所有文件及目录,包括隐藏的a(all)ls *[0-9]* 显示包含数 ...
- dubbo 实战总结
1,出现重复调用.因为有重试机制,可以改为异步调用或者幂等操作.
- IDEA快捷键复习使用
https://www.jetbrains.com/help/idea/meet-intellij-idea.html 快捷键可以极快地进行代码编辑整理,在IDEA的快捷键中,除了有几个好像特别难按之 ...
- 51nod 1243 排船的问题(二分)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1243 题意: 思路: 二分来做,每次贪心的把船安排到能安排的最左边即可. ...
- UVa 1614 奇怪的股市
https://vjudge.net/problem/UVA-1614 题意:输入一个长度为n的序列a,满足1<=ai<=i,要求确定每个数的正负号,使得所有数的总和为0. 思路:贪心部分 ...
- ssh 连接不同无线网且IP以及用户名都相同
问题现场及解析 用OpenSSH的人都知ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts. 当下次访问相同计算机时,OpenSSH会核对公钥. ...
- 获取本机ip的shell脚本
ifconfig br0 | grep 'inet addr' | sed 's/^.*addr://g' |sed 's/ Bcast:.*$//g' 注意:br0为网卡名称,需要改成你使用的网卡名 ...