簡體   English   中英

Java-掃描儀類:正確用法

[英]Java - scanner class : correct usage

我正在使用jSerialComm庫和Scanner類。 當我嘗試運行程序時,出現以下錯誤:

線程“主”中的異常java.lang.NullPointerException
在java.io.Reader。(未知源)
在java.io.InputStreamReader。(未知源)
在java.util.Scanner。處(未知來源)
在SerialComm.main(SerialComm.java:44)

指向此行的內容: 掃描儀掃描器= new Scanner(port.getInputStream());

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

public class SerialComm {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    SerialPort serPort[] = SerialPort.getCommPorts();

    int i = 0;

    for(SerialPort port : serPort)
    {
        System.out.println(i++ + " " + port.getSystemPortName());
    }

    Scanner s = new Scanner(System.in);

    int selected = s.nextInt();

    SerialPort port = serPort[selected];


    System.out.println(port.getBaudRate());
    port.setBaudRate(115200);
    System.out.println(port.getBaudRate());
    port.setNumDataBits(8);
    port.setNumStopBits(1);
    port.setParity(SerialPort.NO_PARITY);

    try
    {
        port.openPort();
        System.out.println("Connection is opend");
    }
    catch (Exception ex)
    {
        System.out.println("Chack connection ther is a problem");
    }

    port.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 100, 0);

    Scanner scanner = new Scanner(port.getInputStream());

    while(scanner.hasNextLine())
    {
        try
        {
            String line = scanner.nextLine();
            System.out.println(line);   
        }
        catch(Exception ex)
        {
            System.out.println("halo");
        }
    }
}

}

我已經測試了您的代碼,可以在我的Arduino上正常工作,這是Arduino草圖

void setup(){
  Serial.begin(115200);
}

void loop(){
  for(int i = 0;i<1024;i++){
    Serial.println(i);
    delay(1);
  }

  for(int i = 1023;i>0;i--){
    Serial.println(i);
    delay(1);
  }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM