stm32之蓝牙模块HC

您所在的位置:网站首页 远驱蓝牙模块接线图 stm32之蓝牙模块HC

stm32之蓝牙模块HC

2024-07-16 01:55| 来源: 网络整理| 查看: 265

参考资料: 【常用模块】HC-05蓝牙串口通信模块使用详解(实例:手机蓝牙控制STM32单片机) HC-05蓝牙模块使用教程 HC-05蓝牙模块使用记录 补充与理解: 套餐有两个板子 一个是参数架HC—USB—T,其含有一款芯片stm32f103c8t6,官方利用其内存把它设置成一个u盘,用数据线连接后可进入u盘获取软件 另一个是HC-05蓝牙串口模块。 在这里插入图片描述 杜邦线连接方式如图 在这里插入图片描述 有插座,直接插入即可,注意蓝牙模块是靠外的那排,WiFi模块是插靠里那排 在这里插入图片描述

这个HID转串口小助手是专门为这个参数架配套使用的,感觉不太好用,有时发生AT指令没反应 在这里插入图片描述

所以我直接用XCOM V2.0这款串口软件 1,USB转TTL模块与蓝牙模块连接 在这里插入图片描述 只需要4根杜邦线就行。 其中 USB_TTL 蓝牙模块 tx——————RX, rx——————TX, vcc——————3.3V gnd——————GND 那么模块的EN(key)和STATE(led)是做啥的? 我猜EN(key)引脚就功能相当于模块上的实体小按键,实体小按键按一下就拉高,松开就拉低,如果是软件控制,就控制这个EN(key)引脚,来达到按键按下和松开的效果。 STATE是led显示状态,配对状态输出; 配对成功(已连接)输出高电平,未配对则输出低电平。 在这里插入图片描述 正点原子的接线: 在这里插入图片描述 汇承官方手册接线: 在这里插入图片描述

在这里插入图片描述 看上面的资料可知: PIO11应该就是这个EN(key)引脚,通过电阻接地,网络标号key拉高相当于按键按下(实质也是拉高电平) PIO9应该就是这个STATE(led)引脚,通过一个电阻连接led 那么按键起什么作用呢? 模块有两种模式: 1,AT指令模式(命令响应工作状态),就是可以通过串口,发生AT指令, 设置蓝牙模块在连接通信模式时的一些参数:比如设置工作时的波特率(AT+UART=115200,0,0)切记,是要输入三个参数,设置蓝牙配对码(AT+PSWD=1234(默认)),设置蓝牙名称(AT+NAME =Beijing)等。 查询蓝牙模块的一些信息:比如查询版本号(AT+VERSION?),查询地址(AT+ADDR?),查询波特率(AT+ UART?),查询蓝牙名称(AT+NAME?)有点奇怪,查询不出名字,但是能设置成功,查询模块工作状态(AT+STATE ?)等。

蓝牙模块的配置(HC05):修改密码、修改模块名字、修改波特率。 2,连接通信模式(蓝牙常规工作状态),也就是蓝牙配对后,正常工作模式。 怎样进入AT指令模式? 进入AT指令模式有两种方法: 在这里插入图片描述 什么叫做置高一次PIO11?

在蓝牙模块中有一个小按键,按一下就置高一次PIO11。 所以我采用第2种方法,在连接好USB转TTL模块与蓝牙模块后,按住按键,插入USB,然后再松开按键,这样就进入了AT指令模式,可以直接通过电脑的串口软件设置和查询模块信息了,

怎么样进入连接通信模式? 设置好后,最后发送复位指令AT+RESET指令,模块进入连接通信模式,然后就可以用手机搜索蓝牙了。 不用按按键,连接好USB转TTL模块与蓝牙模块后直接插入电脑或者单片机使用。 在这里插入图片描述 在这里插入图片描述 依次设置蓝牙模块参数,最后查询一下 在这里插入图片描述 依次有: 版本 地址 配对码 波特率,停止位,寄偶校验 Param1:波特率(bits/s) 取值如下(十进制): 2400、4800、9600、19200、38400、 5760、115200、230400、460800、 921600、1382400. Param2:停止位 0——1 位 1——2 位 Param3:校验位 0——None 1——Odd 2——Even 默认设置:9600,0,0 连接模式: 0——指定蓝牙地址连接模式 1——任意蓝牙地址连接模式 (不受绑定指令设置地址的约束) 模块角色 0——从角色(Slave)默认,被动连接; 1——主角色(Master),查询周围 SPP 蓝牙从设备,并主动发起连接,从而建立主、从蓝牙设备间的透明数 据传输通道。 2——回环角色(Slave-Loop),被动连接,接收远程蓝牙主设备数据并将数据原样返回给远程蓝牙主设备; 最后复位,进入连接通信模式(蓝牙常规工作状态),红色LED由慢闪变成快闪。

此时蓝牙模块的串口以115200的波特率进入蓝牙常规工作状态,此时电脑串口发生的”AT+xxx“不再是AT指令,而是数据。也就是无法再修改蓝牙参数了,如果需要修改模块配对码,波特率,则需要拔出USB转TTL,按住模块按键的同时插入USB转TTL,最后松开按键,才切换进入AT指令模式,此时的波特率是38400,这个是无法修改的,两种进入命令响应工作模式的方式使用的波特率是不一样的,第二种方法进入的AT指令模式就是通过38400的波特率工作的。115200比特率是蓝牙常规工作时的波特率,可以在AT指令模式下修改。 在这里插入图片描述 连接好USB转TTL模块与蓝牙模块后直接插入电脑,是进入蓝牙常规工作还是按第一种方式进入了AT指令模式? 答:插入后,蓝牙进入蓝牙常规工作模式,此时模块会与手机配对,配对成功就可以双向通信,如果未配对成功(蓝牙未连接),再按一下模块上的按键,就进入了AT指令模式,可以连续发指令,不需要发一次再按一下。 实验测试1: 1,插入电脑 2,打开串口软件, 刚刚把模块蓝牙常规工作时的波特率设置为115200,0,0,因此把串口软件设置为115200,1停止位,无寄偶校验。 在这里插入图片描述 发送AT指令 at+version? 测试一下,发现窗口没有反应,无任何信息,此时打开手机,发现手机已经连接了模块,收到消息如下: 在这里插入图片描述 可以猜测,此时是蓝牙常规工作模式,电脑发给模块的是数据,不是AT指令,为了再验证一下,发些其他数据 在这里插入图片描述 手机端收到 在这里插入图片描述

3,此时我再按下模块小按键(注意,我手机还没有和模块断开连接) 继续发送数据,还是窗口还是没反应,手机却收到了信息,说明啥?说明还是蓝牙常规工作模式,为什么会这样?因为没有仔细品中句话 在这里插入图片描述 未配对情况下就是 AT 模式,刚刚我手机没有与模块断开连接,所以不是 AT 模式,按下按键也是无效的,所以,应该断开蓝牙! 实验测试2: 1,关闭手机蓝牙,拔下USB转TTL,确保USB转TTL插入电脑后,不与手机连接,这样才是未配对的情况下 2,插入USB转TTL 3,打开软件,波特设置为蓝牙常规工作时的波特率设置为115200,0,0,因此把串口软件设置为115200,1停止位,无寄偶校验。 1)直接发送AT指令 在这里插入图片描述 窗口无反应,因为模块还未与蓝牙连接,所以手机端就不用看了。

2)按下模块小按键,松开,然后再次发送AT指令 在这里插入图片描述 窗口有反应了,返回了我要的蓝牙地址,那么继续发送其他指令再测试几下 3)连续发送AT指令 在这里插入图片描述 成功反馈信息,上面的回答正确! 注意到:在未配对状态下,进入AT模式后,就是第一次按下了小按键,后面不需要按,直接发送指令,操作起来就像第二种方式进入AT指令模式一样,区别在于此时的波特率是115200,不是38400。 参考文章里,这句话有误! 【常用模块】HC-05蓝牙串口通信模块使用详解(实例:手机蓝牙控制STM32单片机) 在这里插入图片描述 我自己也说的比较重复啰嗦,,,有时重复啰嗦是希望能表达清楚,,,

AT+reset和AT+ORGL区别:

AT+reset,配置好参数后,发送该指令,可将AT模式切换为蓝牙常规工作模式,后面发送的就是数据,不再是指令了。

AT+ORGL,是参数配置恢复成出厂模式,就像手机恢复出厂设置一样。 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3