简体   繁体   English

Java-扫描仪类:正确用法

[英]Java - scanner class : correct usage

I'm using jSerialComm library and Scanner class. 我正在使用jSerialComm库和Scanner类。 when i try to run my program I'm getting following error: 当我尝试运行程序时,出现以下错误:

Exception in thread "main" java.lang.NullPointerException 线程“主”中的异常java.lang.NullPointerException
at java.io.Reader.(Unknown Source) 在java.io.Reader。(未知源)
at java.io.InputStreamReader.(Unknown Source) 在java.io.InputStreamReader。(未知源)
at java.util.Scanner.(Unknown Source) 在java.util.Scanner。处(未知来源)
at SerialComm.main(SerialComm.java:44) 在SerialComm.main(SerialComm.java:44)

which points to this line : Scanner scanner = new Scanner(port.getInputStream()); 指向此行的内容: 扫描仪扫描器= 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");
        }
    }
}

} }

I have tested your code it works fine with my Arduino, this the Arduino sketch 我已经测试了您的代码,可以在我的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