Java蓝牙程序无法正常工作

时间:2016-04-20 21:46:32

标签: java bluetooth arduino

我使用这个程序将一些数据从Java发送到Arduino:

JAVA

public class Arduino extends PApplet{

public void connect(){
String[] serials = Serial.list();
Serial port = new Serial(this, Serial.list()[0], 9600);
port.write('H');
port.dispose();
}

ARDUINO

 void setup() {
  Serial.begin(9600);
 Serial.println("Start");
}

void loop() {
if(Serial.available()){
int a = Serial.read();
Serial.print(a);
 }
}

问题在于,每次发送数据时,都会丢失蓝牙连接。有人可以解释它的错误吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

  

每次发送数据时,都会丢失蓝牙连接。

肯定的是,你在发送char之后调用dispose方法,然后连接就没了....尝试删除dispose方法而不是..

public void connect(){
    String[] serials = Serial.list();
    Serial port = new Serial(this, Serial.list()[0], 9600);
    port.write('H');
    //port.dispose();
}

答案 1 :(得分:0)

您似乎正在发送'H'进行连接。大。在那之后你打电话给dispose()。引用dispose()

的文档
  

由PApplet用于关闭事物。

首先,您不需要这样做。当你想要断开连接时,你会做类似的事情。

其次,这是一种断断续续的可怕方式。你应该拨打stop()。引用stop()

的文档
  

停止与连续谈话并关闭事情。

     

基本上只是用户可访问的dispose()版本。现在,它只调用dispose(),但是不应该从applet调用dispose,因为在某些库中,如果被不知道他们正在做什么的用户调用它,那么dispose()就会被搞砸。 p>