Java+Grbl: G-Code Befehle mit Java an Arduino senden und lesen

Butch90

Neues Mitglied
Hallo zusammen,
ich möchte mit Java und der Bibliothek jSerialComm an einen Arduino mit
Grbl G-Code Befehle senden und damit einen Schrittmotor ansteuern.
Bisher funktioniert nur das lesen, nicht aber das senden!

Ausgabe Konsole:
run:
1 :COM9
1
Gewählter Port: 1
USB-SERIAL CH340 (COM9)

Grbl 0.9a ['$' for help]


Der Hardware Aufbau funktioniert soweit, getestet hab ich es mit Arduino
Serial Monitor.

Zum Programm:
Ich gebe zuerst alle aktive COM Ports aus, lasse dann den Benutzer über
die Konsole einen wählen. Dann starte ich zwei Threats zum gleichzeitig
lesen und senden von G-Code.

Findet jemand den Fehler warum das Senden nicht funktioniert?

// -------------------------------------------------------------------

Java:
package com.port;

import java.util.Scanner;
import java.io_OutputStream;
import java.io.PrintWriter;
import com.fazecast.jSerialComm.SerialPort;

public class Main {

    static int inputPort=0;
    static SerialPort chosenPort;

    public static void main(String[] args) {

  // Aktive COM Ports ausgeben
  SerialPort[] portNames = SerialPort.getCommPorts();
  int i;
        for(i = 1; i <= portNames.length; i++)
            System.out.println(i+"
:"+portNames[i-1].getSystemPortName());

        // Benutzer wählt COM Port
        Scanner scan = new Scanner(System.in);
        do{
            try{
                int input = Integer.parseInt(scan.nextLine());
                if((input>0) && (input<i))
                inputPort = input;
                else
                System.out.println("Bitte richtige Zahl eingeben!");
            }catch(Exception e){
                System.out.println("Bitte eine Zahl eingeben!");
            }
        }while(inputPort==0);

        System.out.println("Gewählter Port: "+inputPort);



        chosenPort = SerialPort.getCommPorts()[inputPort-1];
        chosenPort.setComPortTimeouts(SerialPort.TIMEOUT_SCANNER, 0, 0);

        System.out.println(chosenPort.getDescriptivePortName());

        if(chosenPort.openPort()) {

            // Seriell Lesen
            Thread threadIn = new Thread(){
                [USER=48687]@Override[/USER] public void run() {
                    Scanner input = new
Scanner(chosenPort.getInputStream());
                    while(input.hasNextLine()) {
                        try {
                            String line = input.nextLine();
                            System.out.println(line);
                        } catch(Exception e) {}
                    }
                }
            };

            // Seriell Schreiben
            Thread threadOut = new Thread(){
    [USER=48687]@Override[/USER] public void run() {
                    try {Thread.sleep(100); } catch(Exception e) {}
                    PrintWriter output = new
PrintWriter(chosenPort.getOutputStream());
                    output.println("G0 X100");
                    output.flush();
                }
            };

            threadIn.start();
            threadOut.start();
        }
        else {
            System.out.println("COM Port konnte nicht geöffnet werden");
        }
    }
}
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
C RMI Produzent-Verbraucher-Problem - Code review Netzwerkprogrammierung 12
A Chatserver/-client - Code stoppt bei readUTF() Netzwerkprogrammierung 7
C Gerenderte Website nach der ausführung von JavaScript als HTML Code aus lesen Netzwerkprogrammierung 4
cezary Socket ServerSocket starten über GUIIm unterstehenden Code versuche Netzwerkprogrammierung 6
D JavaMail: HTML Code einer Mail Netzwerkprogrammierung 9
M RMI Code Frage: Netzwerkprogrammierung 4
R RMI Stub Code Netzwerkprogrammierung 2
H Socket Client server,verbindung läst sich nicht abbauen&code optimierung Netzwerkprogrammierung 3
W Socket Client ermitteln//Code inside Netzwerkprogrammierung 2
S RMI - dynamisch Code nachladen Netzwerkprogrammierung 5
V RMI: code wird einfach übergangen ? Netzwerkprogrammierung 3
M HTTP response code: 401 ; ?aber im browser ist es abrufbar? Netzwerkprogrammierung 5
A mein Code compiliert nicht! Netzwerkprogrammierung 2
A HTML code auslesen klappt nicht ganz Netzwerkprogrammierung 3
M html Code darstellen Netzwerkprogrammierung 2
bummerland Google liefert HTTP response code 403 Netzwerkprogrammierung 2
G Heimnetzwerkchatprogramm: Fehler im Code Netzwerkprogrammierung 11
R Code-Konvertierung bei Socket-Anbindung Netzwerkprogrammierung 1
B SSH mit Jsch, mehrere Befehle senden Netzwerkprogrammierung 4
M Befehle an externes Java-Programm senden Netzwerkprogrammierung 8
C Befehle über ein GUI an Server senden Netzwerkprogrammierung 15
J Befehle an Server senden Netzwerkprogrammierung 5
B Befehle an Gameserver senden bzw. empfangen Netzwerkprogrammierung 2
B befehle auswerten Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben