BLE:一般分为主机和从机
主机:手机等蓝牙设备
从机:stm32单片机
流程:首先从机先向外广播自己的信息,主机扫描到从机的设备就可以发起连接。连接建立后就 可以按规定好的协议进行发送了。
实体:BT24蓝牙透传模块
透传:将stm32发送给BT24的数据原封不动的发送给主机设备或者反向,将接收的主机设备通过 BT24透传发送给单片机。
步骤:
首先将线束连接好,连接BT24模块
1.在cubemx里找到蓝牙使用的串口uasrt3,为其编译成异步模式
2.在异步模式下进行模式修改,首先,BLE模块的默认波特率为9600,也可以开启DMA模式 (串口中断空闲模式。目的是为了效果不会卡顿或者出现异常)。也可以使用普通中断模式或者不使用中断(最基本的模式)。
3.在生成的代码中,实现不定长数据接收功能:使用Hal_Transmit_DMA模式发送和相应的接收 函数 函数使用的步骤如下
4.然后在callback回调函数中首先对应的功能
此处为callback实现的程序代码
复杂功能的实现:实现发送指令控制全彩灯的亮灭
此处,这里定义了一个数据帧格式:
报文头 数据项 结束符
注:当数据帧发送速度要求很快时,就要设置数据缓冲区来进行数据缓存。