OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5584|回复: 3

正点原子战舰(STM32F103ZET6) 跑蓝牙协议栈

[复制链接]

7

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2015-1-6
在线时间
10 小时
发表于 2020-9-7 09:42:18 | 显示全部楼层 |阅读模式
零. 概述

主要介绍下用正点原子的战舰STM32F103ZET6)外接我们的蓝牙扩展版跑蓝牙协议栈的初始化以及搜索演示

一. 声明

本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:

第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。

第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等

第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等

第四篇:传统蓝牙host介绍,主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的协议吧。

第五篇:低功耗蓝牙controller介绍,主要介绍低功耗蓝牙芯片,包括物理层(PHY),链路层(LL)

第六篇:低功耗蓝牙host介绍,低功耗蓝牙协议栈的介绍,包括HCI,L2CAP,ATT,GATT,SM等

第七篇:蓝牙芯片介绍,主要介绍一些蓝牙芯片的初始化流程,基于HCI vendor command的扩展

第八篇:附录,主要介绍以上常用名词的介绍以及一些特殊流程的介绍等。

另外,开发板如下所示,对于想学习蓝牙协议栈的最好人手一套。以便更好的学习蓝牙协议栈,相信我,学完这一套视频你将拥有修改任何协议栈的能力(比如Linux下的bluez,Android下的bluedroid)。

--------------------------------------------------------------------------------------------------------------------------

入手开发板:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22329603896.18.5aeb41f973iStr&id=622836061708

蓝牙学习目录:https://blog.csdn.net/XiaoXiaoPengBo/article/details/107727900

--------------------------------------------------------------------------------------------------------------------------

二. STM32蓝牙协议栈封装使用AT command实现搜索

使用步骤操作如下:(正点原子开发板外接蓝牙扩展点击链接)!!!!!!!!!!!!!!!!!!!!

步骤 1)准备好代码,从github下载下来最新的代码(在上面有介绍Github连接)

步骤 2)连接好硬件

分为以下几个小的步骤:

① UART2 TX/RX的接线

首先我们把原子的战舰开发板的P7的两个跳帽拔掉,分别把模组的丝印的TX接到P7的3pin上,然后把模组的RX接到P7的4 pin上

另外由于我们蓝牙协议栈跑的是Transport h4,所以需要流控功能,所以需要接CTS/RTS,所以我们还需要把模组的CTS接到原子战舰的PA0,模组的RTS接到原子战舰的PA1

② 电源,GND接线

原子有单独的VOUT,因为我们的模组是5V供电,所以我们把模组的5V接到VOUT2的5V上,把GND接到战舰的VOUT2的GND上

整个正点原子接线位置如下

步骤 3)打开Keil工程文件夹下的project\stm32f10x_bb_csr8x11_bt\stm32f10x_bb_csr8x11.uvprojx,然后编译下载

注意几点:

① 设备类型修改为F103ZET6

② 下载的时候要勾选Use micro lib

步骤4)打开串口工具(我用的是XCOM),然后做初始化动作,在发送串口敲BT_START,点击发送,出来以下log就证明初始化通过了,我们就可以来进行搜索动作了,注意一点:不能勾选发送新行,否则会解析错误

步骤5)然后敲BT_INQUIRY就能搜索到设备了

三.使用我们自己写的上位机来实现搜索

步骤跟AT的1)2)3)一样,我们从第四步开始讲解

打开我们工程源码1-BLUETOOTH\mcu_bt_tool\mcu_bt_tool\mcu_bt_tool\bin\Debug中的mcu_bt_tool.exe,当然你也可以直接用VS2010打开工程

步骤 4)打开串口

步骤 5)点击蓝牙开启按钮(此步骤跟AT 命令BT_START一样的效果,就是实现蓝牙初始化)

步骤 6) 等待初始化完成点击搜索按钮,你就发现可以搜索到蓝牙了

另外:使用上位机的时候注意几点:

① mcu_bt_tool.exe你如果想把可执行文件拿到别的路径单独执行,那么必须要把Newtonsoft.Json.dll跟exe放在同一个路径下,因为上位机是跟STM32用json沟通的

② 因为目前搜索是开启的EIR,带RSSI的,所以他会重复性上来同一个设备,我没做根据同一个蓝牙地址做显示过滤,如果有兴趣的人可以加上这一块




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14283
金钱
14283
注册时间
2018-8-3
在线时间
1146 小时
发表于 2020-9-7 09:50:44 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2019-8-16
在线时间
25 小时
发表于 2020-9-7 10:39:59 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6077
金钱
6077
注册时间
2018-6-27
在线时间
524 小时
发表于 2022-6-19 08:25:04 | 显示全部楼层
学习学习,学习学习。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 15:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表