单片机GD32F303RCT6 (Macos环境)开发 (二十七)—— 蓝牙透传模块HC-08的调试

news/2024/11/25 19:53:57/

蓝牙透传模块HC-08的调试

1、模块为汇承HC-08,GD32我们之前已经把usart1 配置成了dma+idle的方式接收数据,我们的hc-08模块连接的就是这一路usart。
所以,与GD32的连接比较简单,如下图:
GD32 HC-08
TX(PA2 ) RX
RX(PA3) TX
VCC VCC
GND GND
2、HC-08的命令可以看一下官网,我们这里不做介绍,我们只做从设备,所以只保证两边的波特率相同即可。

3、为了方便,这里用树莓派命令调试,后面会写一个Android App来控制Gd32.

4、简单说一下linux调试蓝牙工具,hcitool 以及gatttool
的使用。
搜索蓝牙命令:

sudo hcitool lescan | grep MaxPro

我的蓝牙设备名字改成了MaxPro,所以这里用grep过滤了一下。
在这里插入图片描述
连接蓝牙命令:

sudo gatttool -i hci0  -b 00:35:FF:15:A9:CE -I

在这里插入图片描述
我们以交互的方式连接hc-08,
这里可以输入help看一下支持的命令
在这里插入图片描述
连接:
connect
在这里插入图片描述
搜索支持的服务:
primary
在这里插入图片描述
搜索特征值:
在这里插入图片描述
因为HC-08用的是0000ffe1-0000-1000-8000-00805f9b34fb这个特征值,我们往这个特征值里写几个数据,而GD32接收到这写数据后,会打印出来,并返还。

写数据:
在这里插入图片描述
Notification handle = 0x0036 value: 56 78 34 21 就是gd32那边返还回来的数据。

GD32的打印如下:
在这里插入图片描述
数据对比一致,所以HC-08工作正常。


http://www.ppmy.cn/news/83484.html

相关文章

5年测试老鸟整理,功能自动化测试入门到实践,超细总结...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Python自动化测试&…

设计模式 - 原型模式

传统方式 public class Sheep {private String name;private int age;private String color;public Sheep(String name, int age, String color) {super();this.name name;this.age age;this.color color;}public String getName() {return name;}public void setName(Stri…

关于I/O

I/O 1. 概念1.1 页缓存的简单工作流程1.2 页缓存的写机制或者写触发的时机1.3 为什么需要套字节缓冲区1.4 套接字缓冲区的简单流程 2. 传统I/O方式2.1 传统I/O读写流程2.2 传统 I/O的性能问题 3. DMA技术3.1 将数据写入磁盘的流程3.2 从磁盘读取数据的流程 4. 网络数据传输流程…

C++第一章:开始

开始目录 引言一、开发环境和参考书籍二、一个简单的C程序三、初识输入和输出标准输入输出对象 四、注释五、控制流while循环for循环 六、数量不定数据的输入七、C 缩进和格式八、类简介使用一个类书店处理书籍信息程序 九、术语表 引言 C在人们的眼中通常是“复杂”一词的代表…

【作为程序员,你有什么让人眼前一亮的代码实现方式?】

编程语言介绍 随着科技的不断发展,编程语言也在不断更新和改进。作为程序员,我们需要选取一种适合自己的高级编程语言来完成项目任务。下面将介绍常见的三种高级编程语言:Python、Java和C。 Python Python是一种高级编程语言,具…

Shell基础

目录 第1章 Shell概述 第2章 Shell脚本入门 第3章 变量 3.1 系统预定义变量 3.2 自定义变量 3.3 特殊变量 3.3.1 $n 3.3.2 $# 3.3.3 $*、$ 3.3.4 $? 第4章 运算符 第5章 条件判断 第6章 流程控制(重点) 6.1 if判断 6.2 case语…

STL --- 3、迭代器 Iterators

目录 1、std::iterator 的定义和作用 2、std::iterator常用的api 3、std::iterator 迭代器的种类 4、std::iterator迭代器的使用 5、std::iterator 迭代器的适配器 1、std::iterator 的定义和作用 (1)std::iterator 是 C STL 中的一个概念&#x…

基于机器学习的调制方式识别+电磁频谱数据的特征介绍

文章目录 1. 调制方式识别尝试1:换模型(有提升)尝试2:拼接多个功率谱特征(失败)尝试3:统计特征(失败)尝试4:变换域(未尝试)尝试5:机理分析(未尝试)2. 论文阅读:《电磁频谱数据的关联规则挖掘》2.1 异常信息2.2 底噪信息2.3 占用度信息2.4 预定时间功率值2.5 频…