微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > 蓝牙一主多从的通讯问题

蓝牙一主多从的通讯问题

时间:10-02 整理:3721RD 点击:
最近在做一个蓝牙一主多从的通讯。所谓的一主多从(我自己定义的)----主机:会自己搜索身边的蓝牙设备。从机:只能等待主机对自己进行搜索,即等待被发现。从机是不具备也不会对身边的蓝牙设备进行搜索的。
例如:A为主机,B、C均为从机。当A跟B通讯完成后,就将A跟B断开,通过拉高A的控制引脚,让A进入AT指令模式。这样就可以向A蓝牙发送“AT++DISC\r\n”断开连接指令。然后再发送“AT+LINK=<B的ID>\r\n”。最后拉低主蓝牙模块的控制引脚,让它进入正常的通讯模式。
现在碰到的问题是,前两次断开与连接均成功,但到第三次时,却不成功。这个不知是什么问题。对延时时间进行不断的修改,都无法让断开连接通过第三次。如果不是在发送断开指令这里卡住,就是在连接指令这里卡住。无法成功的原因是主蓝牙模块没有应答。所以一直在死循环。
我是用一个语句在等待主蓝牙模块应答的----while(!buff_flag);
当接收到“OK\r\n”里,标志位buff_flag就会置1,就会通过这个死循环。我有试过一直发送命令的。
do
{
     uart_senddata("AT+DISC\r\n");//或者是uart_senddata(“AT+LINK=<A或B的ID>”\r\n );
}while(!buff_falg);
请问有木有人知是什么原因?
在这里先多谢啦!

没做过这种,我做的时候用的现成的模块,做的是一对一对·的·!

我做一以一的没问题,只是一对多有问题,不知是不是切换得太快了。可惜现在没时间调

請問小编用的是什么型号的蓝牙芯片?我买的是HC-05,HC-06,也在搞一对多连接,步骤好繁琐,你的模块更高级些啊~我的都没有断开连接指令,和连接xxID的指令,只能靠修改密码不断重启来切换配对的从模块,蛋都碎了...

后来我在写GSM的控制程序时,用了状态机的思想,发现程序运行得很稳定,你也可以将这种思想用于蓝牙一对多的通讯中,看能不能完成切换.我用的蓝牙全是HC-05的.

帮小编顶起来,看看有没有做过的筒子发现这个帖子

帮小编顶起来,看看有没有做过的筒子发现这个帖子

多方学习,积累知识,丰富思维,共勉。

帮小编顶起,我们现在也需要

同求51822 ,,,好好学习,天天向上

在研究

。。

小编能帮忙解答一下嘛,我也在做蓝牙一主多从。我一直无法断开已连接的蓝牙

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top