玩转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) 串口通信的分类 串口通信三种传递方式 串口通信的通信方式 串行通信的方式: 异步通信:它用一个起始位表示字符的开始,用停止位表示字符的结束.其每帧的格式如下: 在一帧格 ...
随机推荐
- BZOJ 1076 奖励关
注意几点: 1.为什么要逆推?由此状态可以轻易算出彼状态是否可行,而彼状态却无法轻易还原为此状态. 2.为什么可以逆推?假设时光倒流了....23333 3.注意位运算的准确,大胆写方程. #incl ...
- 一个c++给程序打log的单例模式类
开发过程中需要给程序打log. 所以照着网上写了个单例模式的log类 #ifndef MISCLOGWRITER_H_ #define MISCLOGWRITER_H_ #include <io ...
- 利用rman进行异机还原(目录相同)
利用rman进行异机还原(目录相同) 源始库:192.168.201.2 目标库:192.168.201.3 --192.168.201.2 --rman [oracle@db01 ~]$ rman ...
- 201521123040《Java程序设计》第4周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 本周学习了类的继承,包括子类父类的概念还有extends关键字,super关键字.继承与代码 ...
- 怎么用JQUERY设置div背景图片?
平常,在css里,我们写成 { background:url(....) ; } 如果需要写脚本, 则 function(){ .....; $(....).css("background- ...
- python 格式话-占位符
格式化输出:name = qjage = 30job = itsalary = 6000例1:字符串拼接方法,不建议,因为会在内存中开辟多块内存空间. info = '''---------- inf ...
- 【QT】QT更改构建目录
菜单“工具”-“选项”. Qt Creator怎样更改默认构建目录_百度经验 https://jingyan.baidu.com/article/6181c3e0b9d170152ef153af.ht ...
- github中删除一个repository
(1) 首先进入相应的repository,然后点击setting 2,点击 delete the repository (3) 输入要删除的repository名字,即可删除
- MyBatis高级及其SSM框架搭建
代码生成器 首先meaven项目中导入支持包 <dependencies> <!-- https://mvnrepository.com/artifact/mysql/mysql-c ...
- arm中的几个公式的比较
串口 UART0.UBRDIVO=0X4d; 设置波特率 12000000/9600/16 -1=77化为16进制就是4dADC AD converter freq =50MHZ/(49+1) =1M ...