Hallo
Ich habe folgenden Code.
Dieser schreibt und liest vom seriellen Port. Funktioniert auch fast einwandfrei. Wenn etwas von einem externen Gerät auf den seriellen Port geschrieben wird, kommt die Ausgabe aber so: z.b. für Zeichen k
k und dann 119 Quadrate.
Wenn ich jetzt diese Zeile kopieren will und irgenwo einfügen, kommt nur das k. Beim System.out.println kommen aber auch die Quadrate.
Wenn ich eine textbox x habe und x.append() mache, wird auch nur das k geschrieben.
Hier der Code. Ich versten nicht ganz, was er bei
	
	
	
	
	
		
	
und bei
	
	
	
	
	
		
	
Hier der ganze Code:
	
	
	
	
	
		
	
			
			Ich habe folgenden Code.
Dieser schreibt und liest vom seriellen Port. Funktioniert auch fast einwandfrei. Wenn etwas von einem externen Gerät auf den seriellen Port geschrieben wird, kommt die Ausgabe aber so: z.b. für Zeichen k
k und dann 119 Quadrate.
Wenn ich jetzt diese Zeile kopieren will und irgenwo einfügen, kommt nur das k. Beim System.out.println kommen aber auch die Quadrate.
Wenn ich eine textbox x habe und x.append() mache, wird auch nur das k geschrieben.
Hier der Code. Ich versten nicht ganz, was er bei
		Code:
	
	try {
        if(ins.available() > 0){
           byte[] temp = new byte[900];
           //System.out.println("in av");
           ins.read(temp);
        }
       }  catch (IOException e) {System.out.println("Fehler: "+e);}und bei
		Code:
	
	public void serialEvent(SerialPortEvent event) {
        
            if(event.getEventType()==SerialPortEvent.DATA_AVAILABLE){         
                String sNachricht = "";
                byte[] readBuffer = new byte[120];
                try {
                    //System.out.println("in SerialEvent");
                    while (ins.available() > 0) {int numBytes = ins.read(readBuffer);}
                    String nachricht = new String(readBuffer);         
                    char c = (char)0;
                    System.out.println("Nachricht: " + sNachricht);
                }
                    catch (IOException e) {System.out.println("Fehler: "+e);
                }      
            }
        }Hier der ganze Code:
		Code:
	
	import java.io.*;
import javax.comm.*; 
public class Kommunikation {
    
    static CommPortIdentifier portID;
    InputStream ins;
    OutputStream out;
    static SerialPort serss;
    /** Creates a new instance of RobotCom */
    public Kommunikation(int comPort, int iBaudRate) {
        
        //Comport öffnen   
        openCom(comPort);
            
        //Eventlistener hinzufügen     
        addEventlistener();  //Eventlistener hinzufügen
         
        serss.notifyOnDataAvailable(true);
     
        //Baudrate setzen
        setBaudRate(iBaudRate);    
    }
    private void openCom(int comPort)
    {
     try{
        //Gewünschter Port wird gewählt 
        
        switch(comPort) {
            case 1:
              portID = CommPortIdentifier.getPortIdentifier("COM1");
              break;
            case 2:
              portID = CommPortIdentifier.getPortIdentifier("COM2");
              break;
            case 3:
              portID = CommPortIdentifier.getPortIdentifier("COM3");
              break;
            case 4:
              portID = CommPortIdentifier.getPortIdentifier("COM4");
              break;
            case 5:
              portID = CommPortIdentifier.getPortIdentifier("COM5");
              break;
            case 6:
              portID = CommPortIdentifier.getPortIdentifier("COM6");
              break;
            case 7:
              portID = CommPortIdentifier.getPortIdentifier("COM7");
              break;
            case 8:
              portID = CommPortIdentifier.getPortIdentifier("COM8");
              break;
            default:
              portID = CommPortIdentifier.getPortIdentifier("COM1");
              break;
        } //Switch       
          
            //Objekt portID wird in eine Serielle Schnittstelle verwandelt  die int zahl steht für den Timeout
            serss = (SerialPort) portID.open("Robot",50);        
        }
            catch(Exception exc) {
            System.out.println("Fehler :"+exc);
        }   
  }
    private void addEventlistener()
    {
       try {
          //System.out.println("in eventListener");
          ins = serss.getInputStream();
          out = serss.getOutputStream();
          serss.addEventListener(new ComListener());
         }
         catch (Exception e) { System.out.println("Fehler: "+e);}
       
       try {
        if(ins.available() > 0){
           byte[] temp = new byte[900];
           //System.out.println("in av");
           ins.read(temp);
        }
       }  catch (IOException e) {System.out.println("Fehler: "+e);}  
    }
    public class ComListener implements SerialPortEventListener{        
        
        public ComListener()
       {
              
       }
           
        public void serialEvent(SerialPortEvent event) {
        
            if(event.getEventType()==SerialPortEvent.DATA_AVAILABLE){         
                String sNachricht = "";
                byte[] readBuffer = new byte[120];
                try {
                    //System.out.println("in SerialEvent");
                    while (ins.available() > 0) {int numBytes = ins.read(readBuffer);}
                    String nachricht = new String(readBuffer);         
                    char c = (char)0;
                    System.out.println("Nachricht: " + sNachricht);
                }
                    catch (IOException e) {System.out.println("Fehler: "+e);
                }      
            }
        }  
    }
    private void setBaudRate(int iBaudRate)
    {
      try {
           serss.setSerialPortParams(iBaudRate,
                                   SerialPort.DATABITS_8,                                   
                                   SerialPort.STOPBITS_1,
                                   SerialPort.PARITY_NONE);
           serss.setDTR(true);  //
           serss.setRTS(false); //Ready to send auf Null
           
           
          }
           catch (UnsupportedCommOperationException e) {
            System.out.println("Fehler beim Setzen der ComPort Parameter");
          }
    }
    public void senden(int wert)
    {       
        try {
            out.write((int)wert);
            out.flush();
            out.close();
            
            } catch(Exception e) {System.out.println("Fehler: " + e); }
         //System.out.println("Test: " + (int)cPosition); 
    }
    public void close() 
    {
        serss.close();
    }
}
Gruss und danke 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		