嵌入式外设集 -- 蓝牙模块实现主从机(MX01与MX02)

目录

一、前言

MX-01(从机)

MX-02(主机)

二、资料获取

关注微信公众号--星之援工作室 发送关键字(MX系列)

三、 产品测试

工具

模块

配置

通信

其他参考


一、前言

本文只是介绍一下本人使用这个模块的整体感受和实现效果,有需要的可以自行到淘宝进行购买设备,本文使用到的蓝牙模块是实现主机和从机通信,实现两两身设备的数据交互

MX-01(从机)

MX-01 蓝牙模组是一款支持低功耗蓝牙协议的串口透传模组;模组具有小体积、高性能、高性价
比、低功耗、平台兼容性强等优点;可以帮助用户快速掌握蓝牙技术,加速产品开发;模组已兼容的
软件平台包括:IOS 应用程序、Android 应用程序、微信小程序等。MCU 通过串口连接模组,可与手
机、平板等设备进行数据通讯,轻松实现智能无线控制和数据采集;模组广泛应用在智能家居、共享
售货机等领域。

MX-02(主机)

MX-02 模组是基于翱捷科技股份有限公司的ASR5601 芯片设计,ASR5601 是一款高度集成BLE 5.2
SoC 单芯片解决方案,集成了低功耗、高性能射频收发器、ARM®CortexM0+处理器、DCDC 电源管理模
组、模拟音频输入通路及丰富的外设。它主要应用于智能穿戴式设备、便携式医疗设备、运动健身设
备、智慧家庭、消费电子、工业控制等,可满足低功耗、低时延、近距离无线数据通信的要求。MX-02A
透传模组可以让开发者无须了解低功耗蓝牙协议,直接使用类似串口通信方式、开发支持低功耗蓝牙
通信的智能产品。

二、资料获取

关注微信公众号--星之援工作室 发送关键字(MX系列)

➡️🫡🫡🫡🫡🫡🫡🫡🫡➡️

三、 产品测试

工具

电脑一台,串口调试软件

模块

USB-TTL模块*2 MX-01*1 MX-02*1

配置

默认串口频率为 115200-8-1,主要使用到的AT指令,其他指令看说明书可以设置

通信

我直接设置的自动重连模式,下次上电之后只要设备在附近就可以直接重连进行通信

 其他指令查看参数即可

其他参考

手把手教你使用--常用模块--HC05蓝牙模块,无线蓝牙串口透传模块,(实例:手机蓝牙控制STM32单片机点亮LED灯)icon-default.png?t=N7T8https://blog.csdn.net/tyh19820234964/article/details/124758530?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170487263816777224483346%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170487263816777224483346&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-124758530-null-null.142^v99^pc_search_result_base7&utm_term=%E8%93%9D%E7%89%99%E6%A8%A1%E5%9D%97&spm=1018.2226.3001.4187

HC-05(ZS-040)蓝牙模块使用详情(蓝牙模块配置、手机蓝牙控制单片机、蓝牙与蓝牙之间的通信)含51、32程序icon-default.png?t=N7T8https://blog.csdn.net/m0_59113542/article/details/122028037?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170487263816777224483346%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170487263816777224483346&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-122028037-null-null.142^v99^pc_search_result_base7&utm_term=%E8%93%9D%E7%89%99%E6%A8%A1%E5%9D%97&spm=1018.2226.3001.4187

 


END


要驱动dx-bt20蓝牙模块,需要使用STM32F103C8T6的串口通信功能,以下是一个简单的步骤: 1. 连接dx-bt20蓝牙模块STM32F103C8T6的串口引脚。dx-bt20蓝牙模块的TX引脚连接到STM32F103C8T6的RX引脚,dx-bt20蓝牙模块的RX引脚连接到STM32F103C8T6的TX引脚。此外,还需要连接dx-bt20蓝牙模块的VCC引脚和GND引脚到STM32F103C8T6的电源引脚。 2. 在STM32F103C8T6的代码中初始化串口功能。使用STM32的HAL库可以方便地实现串口的初始化,例如以下代码: ```c UART_HandleTypeDef huart1; void MX_USART1_UART_Init(void) { huart1.Instance = USART1; huart1.Init.BaudRate = 9600; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart1) != HAL_OK) { Error_Handler(); } } ``` 3. 在STM32F103C8T6的代码中实现与dx-bt20蓝牙模块通信。可以使用HAL库中的UART发送和接收函数实现通信,例如以下代码: ```c uint8_t rx_data[1]; uint8_t tx_data[] = "Hello World!"; void send_uart_data(uint8_t *data, uint16_t len) { HAL_UART_Transmit(&huart1, data, len, HAL_MAX_DELAY); } void receive_uart_data(uint8_t *data, uint16_t len) { HAL_UART_Receive(&huart1, data, len, HAL_MAX_DELAY); } void send_hello_world() { send_uart_data(tx_data, sizeof(tx_data)); } void receive_data() { receive_uart_data(rx_data, sizeof(rx_data)); } ``` 4. 在STM32F103C8T6的代码中实现dx-bt20蓝牙模块的控制。可以使用UART发送AT指令给dx-bt20蓝牙模块,例如以下代码: ```c void reset_bt_module() { uint8_t reset_command[] = "AT+RESET\r\n"; send_uart_data(reset_command, sizeof(reset_command)); } ``` 以上是一个简单的示例,具体实现方式可以根据实际需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿柒学起来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值