google提供的demo——Bluetooth Chat已实现和手机蓝牙模块的通讯,但不能和单片机上的蓝牙模块的进行通讯,原因在于它们使用的UUID不同,只需要将Bluetooth Chat中的UUID改为"00001101-0000-1000-8000-00805F9B34FB"就可以连接上并实现通讯。
不过很快出现了新的问题:
手 机端可以将一段数据(如0x68 0x18 ············ 0x16)完整的发送过去,但却无法正确的接受数据,总会缺少一些,或者重复一些,只有在极其少数的情况下能接受到数据。
解决方案:
蓝牙传输协议和TCP/IP 协议一样也是有包长的,如果发送的数据过长,在传输底层会自动的分包。所以需要创建一个buffer接收数据,
本文探讨了在使用Google提供的BluetoothChat demo时遇到的通讯问题,并提供了通过修改UUID解决连接问题的方法。同时,文章深入分析了数据包传输过程中出现的丢失或重复现象,提出使用缓冲区接收数据的解决方案,有效避免了长数据包分包导致的问题。
948

被折叠的 条评论
为什么被折叠?



