蓝牙啥玩意我就不介绍了吧
还是介绍一下吧 DX-BT24 5.0蓝牙模块,配置 256Kb 空间,遵循 V5.0 BLE蓝牙规范。支持AT 指令,用户可根据需 要更改串口波特率、设备名称等参数,使用灵活。 支持 UART 接口,并支持蓝牙串口透传, 具有成本低、体积小、功耗低、收发灵敏性高等优 点,只需配备少许的外围元件就能实现其强大功能。
所以呢,直接连接手机当串口用就好啦,这么容易的蓝牙模块,我们不得一人一个?
线路连接
上面知道蓝牙 是靠串口输入输出数据的 所以我们要用到 gpio引脚的复用功能 uart3 作为蓝牙的传输 所以PB10开启复用7 AF7 当连上电路时候发现一直乱码,改了很久波特率都没有用,最后尝试着用了一下 uart1 就是连接着 usb转接的那个 我们把跳线帽扒开,连上自己的线,这样子就不会乱码了,难道是uart1 做的好一点??? ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201002235803755.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzg5ODA2Nw==,size_16,color_FFFFFF,t_70#pic_center)
修改源码
调试后发现串口和手机端在互联的情况下,手机端向蓝牙发送信息,蓝牙无法接收 把通用串口代码改成下面这句话,就能稳定接收 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201003000000431.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzg5ODA2Nw==,size_16,color_FFFFFF,t_70#pic_center)
#include "sys.h"
#include "delay.h"
#include "led.h"
#include "usart.h"
//ALIENTEK 阿波罗STM32F429开发板 实验3
//串口通信实验
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司
#include
int main(void)
{
u8 t;
u8 len;
u16 times=0;
Stm32_Clock_Init(360,25,2,8);//设置时钟,180Mhz
delay_init(180); //初始化延时函数
uart_init(90,9600); //串口初始化为115200
LED_Init(); //初始化与LED连接的硬件接口
while(1)
{
if(USART_RX_STA&0x3fff)
{
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
printf("\r\n您发送的消息为:\r\n");
for(t=0;t
times++;
if(times%5000==0)
{
printf("\r\nALIENTEK 阿波罗STM32F4/F7开发板 串口实验\r\n");
printf("正点原子@ALIENTEK\r\n\r\n\r\n");
}
if(times%200==0)printf("请输入数据,以回车键结束\r\n");
if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
delay_ms(10);
}
}
}
|