手把手教你一步步使用基于HAL库的STM32的蓝牙手机控制以及蓝牙调试器APP的使用

📅 2026/7/14 7:46:12 👁️ 阅读次数 📝 编程学习
手把手教你一步步使用基于HAL库的STM32的蓝牙手机控制以及蓝牙调试器APP的使用

(一)STM32CubeMX配置

首先需要配置Uart,我们选择UART1配置为异步模式Asynchronous,因为JDY31默认的波特率为9600,所以波特率配置为9600。

点击NVIC设置,使能UART1的中断。

记录串口1的引脚TX对应PA9,RX为PA10

如果使用的是STM32F103C8T6单片机的最小系统板,一般PC13是板载的LED,配置PC13为输出模式,标签为LED方便后续验证蓝牙的收发。

这里选择JDY31蓝牙,将VCC连接至3V3,GND公地,蓝牙的TX连接到STM32的RX引脚PA10,蓝牙的RX连接STM32的TX引脚PA9.

(二)代码书写

定义一个全局变量

uint8_t rx1;

在初始化阶段,调用串口的接收中断

HAL_UART_Receive_IT(&huart1,&rx1,1);

之后书写中断回调函数,接收到0XAA之后关灯,接收到0xBB之后开灯

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if (huart->Instance == USART1)
{
if(data==0XAA){HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET); }//关灯
if(data==0XBB){ HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET); }//开灯
HAL_UART_Receive_IT(&huart1, &rx1, 1);
}
}

(三)手机设置

下载蓝牙配置器APP,打开蓝牙,选择JDY-31点击+号,进行连接,一般初始密码是1234,等待连接成功。

选择按钮控制界面,点击编辑模式。

进入编辑模式之后,随便点击一个按钮会出现如下的设置界面,我们之前设置了AA作为关灯,BB作为关灯,我们把最上面按钮名字从手动修改为关灯,按钮发生数据输入AA,一定要勾选下面的HEX,之后点击确认即可。同理修改BB,之后推出编辑模式。

退出编辑模式,点击开灯和关灯按钮,即可实现蓝牙的控制。

下面是蓝牙调试器手机APP的连接,可以通过腾讯的微云网盘下载,感谢腾讯的网盘不限速。

蓝牙调试器手机APP:链接:https://share.weiyun.com/DH1jVmez 密码:uphi7m