Arduino Esplora连续输入流Java

时间:2016-03-25 00:45:26

标签: java arduino

我是Arduino的新手,我喜欢用Java编程。我最近买了一个Arduino Esplora并希望在计算机和Arduino之间来回通信,但是使用下面的代码,我得到了Arduino的初始状态,然后输入流结束,我再也没有得到任何东西。

import java.util.Scanner;
import com.fazecast.jSerialComm.SerialPort;

public class JSerialPortTest {

    static SerialPort serialPort;

    public static void main(String[] args) {
        SerialPort [] ports = SerialPort.getCommPorts();
        if (ports.length > 0) {
            serialPort = ports[0];
            System.out.println("Connected to " + serialPort.getSystemPortName());
        }
        else {
            System.err.println("No SerialPort detected.");
            System.exit(0);
        }

        System.out.println("Opened: " + serialPort.openPort());

        new Thread(new Runnable () {

            @Override
            public void run() {
                Scanner scanner = new Scanner(serialPort.getInputStream());
                while (true) {
                    if (scanner.hasNextLine()) {
                        String input = scanner.nextLine();
                        System.out.println("   " + input);
                    }
                    else System.out.println("empty...");

                    try {Thread.sleep(500);} catch (InterruptedException e) { e.printStackTrace(); }
                }
            }

        }).start();
    }
}

我收到的初始输出(这正是我想要的):

Y:5按钮:Y:5按钮:7 Y:5按钮:操纵杆X:-7 Y:5按钮:操纵杆X:-7 Y:5按钮:操纵杆X:-7 Y:5按钮:操纵杆X:-7 Y:5按钮:操纵杆X:-7 Y:5按钮:

我想知道是否有任何我做错的事情来读取输出并且它们会定期进入,或者是否有办法请求另一个输出,例如我收到的输出。

0 个答案:

没有答案