使用cubemx配置stm32连接蓝牙模块jdy31,实现手机开关led灯

本文详细介绍了STM32中使用JDY31蓝牙模块进行远程控制的过程,包括模块选择、引脚配置、UART通信设置、手机连接步骤以及数据发送与接收操作。重点讲解了如何在Cubemx中配置和利用UART3进行通信,以及如何通过接收到的手机数据控制GPIO引脚实现灯控功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,模块介绍

stm32使用的蓝牙模块主流是两种,一种是jdy31,一种是hc05,他俩的主要区别是jdy31只能当从机,被连接,hc05可以当作主机或者从机,可以主动连接,两者相差10元左右,如果只是想实现用手机蓝牙连接单片机,远程发送指令操控单片机,就选jdy31,便宜实惠。

jdy31实物图,最明显的就是上面像方波的黄色天线了,有这种的一般都是远程连接模块,很好分辨。

二,引脚配置

蓝牙模块实现远程连接操控单片机,听着听炫酷,其实说白了和两根线连接通信是一样的,jdy31与单片机连接使用的是串口通信,UART,搞清楚这个,我们就去cubemx配置引脚,找到UART的引脚,我使用的stm32f103c8t6有三个uart资源,我这里使用UART3来配置

UART串口协议需要两根线,这个协议很简单也很好理解,一根发送数据一根接收数据,把单片机的发送线TX接到jdy31的接收线rx,这样单片机的数据就能被蓝牙接收,同理,把单片机的接收线RX接到jdy31的发送线Tx,就完成了连接。

回到引脚配置,最上面的m

### STM32JDY-31蓝牙模块使用教程 #### 硬件连接 对于STM32JDY-31蓝牙模块之间的硬件连接,主要涉及电源线、数据通信线路以及可能的地线。具体来说: - VCC 连接STM32 的 3.3V 或者 5V 输出端子上; - GND 接到 STM32 地线上; - TXD (Transmit Data) JDY-31 的发送引脚应接至 STM32 的接收引脚 RX; - RXD (Receive Data) JDY-31 的接收引脚则需连向 STM32 发送信号的 TX 引脚[^1]。 #### 配置方法 配置JDY-31蓝牙模块通常通过AT命令集完成。这些指令允许设置诸如波特率、配对密码等参数。为了使能或更改某些特性,可以利用串口调试工具发送特定格式的消息给设备来实现。例如,要查询当前的工作模式,可以通过发送`AT+MODE?`获取;而如果想要切换工作模式,则可尝试像`AT+MODE=0`这样的语句将其设为主机模式。 #### 编程实例 下面给出一段简单的C语言代码片段用于初始化UART接口并与JDY-31建立通讯链接: ```c #include "stm32f1xx_hal.h" UART_HandleTypeDef huart1; void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_USART1_UART_Init(void); int main(void){ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART1_UART_Init(); char buffer[]="Hello Bluetooth!"; while(1){ /* 将字符串传送到USART*/ HAL_UART_Transmit(&huart1, (uint8_t*)buffer,strlen(buffer),HAL_MAX_DELAY); // 延迟一段时间再重复传送 HAL_Delay(1000); } } // 初始化USART函数定义... ``` 上述程序展示了如何创建一个基本的应用场景,在其中STM32不断向外发送预定义的信息序列“Hello Bluetooth!”给相连的JDY-31蓝牙模块处理并转发出去。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值