2 qq 39389283 qq_39389283 于 2017.08.30 14:23 提问

蓝牙串口通信时,接收串口数据被截断。

比如返回值是123456 但总是分段发给我 1 , 22, 456, 不确定分几段 发来。求解决啊 我被搞死了
while(true) {
try {
//如果读取的字节数大于0,表示有数据存在
bytes = inStream.read(buffer);
if(bytes > 0) {
//定义新的字符数据,长度为读取的数据的长度
byte[] byte_data = new byte[bytes];
//通过循环将buffer里面的数据复制到byte_data数组中
for(int i=0; i<bytes; i++) {
byte_data[i] = buffer[i];
}
//将byte_data数组转换成字符串
String sda = new String(byte_data);
System.out.println("收到的数据sda为:"+sda);
}
}catch(IOException a) {
try {
inStream.close();
} catch(IOException ae) {
ae.printStackTrace();
}

1个回答

morgerton
morgerton   2017.08.30 18:14

蓝牙串口传输数据本身就是这样,你可以分批把数据接受来后,然后重新拼出来就行了。

morgerton
morgerton 回复qq_39389283: 我做的东西,平均一秒钟4000个数都传过来了,你得自己想办法把效率做好就行了。
10 个月之前 回复
qq_39389283
qq_39389283 我的项目是要连接电子称设备,电子称的数据是不停的发送的,数据很多,不知道要如何去分批接收并拼出。本人android新手,希望能指导说明下。
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
解决“串口接收数据时被截断”的问题
解决“串口接收数据时被截断”的问题 今天是忙里愉闲的写了这篇文章,我写的一个串口测试程序,用的是PComm.dll进行通信的,但在有的电脑上运行时,接收数据只要有点长度, 比如30个字节,数据就会被截断,并不是所有电脑都会出现这样的问题,害得同事说是不是用的控件有问题,其实,这知道,PComm.dll这样 的组件,技术已经相当的成熟了,做这个控件,人家可是大厂,就靠这吃饭的,再说了,几十年的
java串口通信:发送一条数据,接收分好几次接收解决方法
在个人电脑虚拟串口与代码测试过程中,当虚拟串口发送一条数据,代码能顺利接收显示。而在单片机与电脑串口通信过程中,经常出现单片发送一条数据,而接收段分好几次接收。       解决方法:  添加一条线程,延时。   while (inputStream.available() > 0 ) {                           try {           Threa
经典蓝牙串口收发数据
蓝牙
linux串口编程传送二进制数据时遇到0x0d,0x11和0x13会被丢掉问题
网上许多流行的linux串口编程的版本中都没对c_iflag(termios成员变量)这个变量进行有效的设置,这样传送ASCII码时没什么问题,但传送二进制数据时遇到0x0d,0x11和0x13却会被丢掉。不用说也知道,这几个肯定是特殊字符,被用作特殊控制了。关掉ICRNL和IXON选项即可解决。   www.2cto.com          c_iflag &= ~(ICRNL |
android 蓝牙模块的串口通信
android 蓝牙串口的通信,可以利用手机蓝牙对蓝牙模块进行访问。
Android与蓝牙串口模块通信
由于项目的需要Android与蓝牙模块通信,发了时间学习了下,实现了Android与蓝牙模块的通信 1.蓝牙串口模块使用SPP-CA模块 蓝牙串口模块就是使用单片机的TX ,RX与蓝牙模块通信,单片机通过TX发送数据给蓝牙模块,然后蓝牙模块在通过蓝牙协议把数据发送出去,蓝牙模块与Android的通信方式使用spp协议。 2.蓝牙通信 蓝牙的通信需要服务端和客户端,客户端搜索
java 串口通信的例子(RXTX)
近期要做一个运行与安卓系统之上,与检测仪器进行串口通信的软件,折腾了好几天,现在整理了一个串口通信的完整例子,引用的是RXTX相关的包: 类结构: SPComm.java:   通信主体 SPCommTest.java:  调用者 1.  SPComm.java import gnu.io.CommPortIdentifier; import gnu.io.PortInU
51单片机与蓝牙模块的串口通信C程序
51单片机与蓝牙模块的串口51单片机与蓝牙模块的串口通信C程序通信C程序
unity3D和串口通信,接收下位机数据和发送指令
public class SerialCommunication : MonoBehaviour {     public GUIText gui;     public string portName = "COM2";     public int baudRate = 9600;     public Parity parity = Parity.None;     public
Android蓝牙串口通讯
1.蓝牙串口模块使用SPP-CA模块 蓝牙串口模块就是使用单片机的TX ,RX与蓝牙模块通信,单片机通过TX发送数据给蓝牙模块,然后蓝牙模块在通过蓝牙协议把数据发送出去,蓝牙模块与Android的通信方式使用spp协议。 2.蓝牙通信 蓝牙的通信需要服务端和客户端,客户端搜索蓝牙设备,链接服务端。主要是通过socket通信,相关的知识可以学习了解下socket通信。链接建立起来,通信时数据的