Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [java] javacomm

  1. #1

    [java] javacomm

    ciao, qualcuno di voi ha già installato le classi javacomm? Io le ho scaricate, ma non mi funziona niente e compilando gli esempi ho sempre qualche errore. Uso il j2sdk 1.4.0-rc ed ho già settato il classpath. In più qualcuno sa come mai il jCreator non mi vede quelle classi che in vece da prompt riesco ad utilizzare?
    Grazie

  2. #2
    L'errore + tipico che ti possa capitare è che non trova la seriale, oppure ottieni un errore di timeout sulla lettura..
    potrebbe sembrare che non funzionino tanto bene, ma in realtà vanno, basta solo perseverare

    in Jcreator devi includere i package che ti scarichi:
    configure->options->jdk profiles->edit->add package
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

  3. #3
    Ma il brutto è che non riesco a compilare neanche i codici di esempio! Tipo la blackbox non so neanche cos'è!
    Tu quali javacomm usi? Io li ho scaricati ma risalgono al '98, sono i più aggiornati? Spesso mi diceva che c'era codice deprecato...
    Ciao

  4. #4
    io sto utilizzando le javacomm2.0
    il fatto che sia codice deprecato deriva magari dal fatto che stai utilizzando la jdk1.4 in cui alcuni metodi potrebbero essere stati deprecati
    ma deprecati non vuol dire che non funzioni ...
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

  5. #5
    anch'io uso quelle, mi sai fare un piccolo esempio di codice per vedere se lo compila? Gli esempi della sun non riesco a farli compilare...

  6. #6
    per aprire la connessione con la seriale:
    codice:
    
    import java.io.*;
    import java.util.*;
    import javax.comm.*;
    
    public class LettoreSeriale implements SerialPortEventListener{
    	
    	CommPortIdentifier portId;
    	Enumeration portList;
    	CommPortIdentifier port;
    	SerialPort serialPort;
    	InputStream inputStream;
    	OutputStream outputStream;
    	//portList = CommPortIdentifier.getPortIdentifiers();
    	
    	public LettoreSeriale() throws PortInUseException,IOException,
    			TooManyListenersException,UnsupportedCommOperationException{
    		CommPortIdentifier port;
    		portList = CommPortIdentifier.getPortIdentifiers();
    
    		while (portList.hasMoreElements()) {
    			//System.out.println("siamo in esecuzione");
    			port= (CommPortIdentifier) portList.nextElement();
    			if (port.getPortType() == CommPortIdentifier.PORT_SERIAL) {
    				if (port.getName().equals("COM1")) {
    					//System.out.println("Got It");
    					portId=port;
    				}
    			}
    		}
    		/*
    		serialPort = (SerialPort) portId.open("Java ATManager", 2000);
    
    		inputStream = serialPort.getInputStream();
    		outputStream = serialPort.getOutputStream();
    
    		serialPort.addEventListener(this);
    
    		serialPort.notifyOnDataAvailable(true);
    
    		//serialPort.setSerialPortParams(iBaud,iDataBits,iStopBits,iParity);
    
    		*/
    	}
    }
    
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

  7. #7
    mi da questi errori:

    D:\esercizi Java\visImg\LettoreSeriale.java:16: ';' expected
    TooManyListenersException,Unsupported
    ^
    D:\esercizi Java\visImg\LettoreSeriale.java:16: cannot resolve symbol
    symbol : class Unsupported
    location: class LettoreSeriale
    TooManyListenersException,Unsupported
    ^
    D:\esercizi Java\visImg\LettoreSeriale.java:5: LettoreSeriale should be declared abstract; it does not define serialEvent(javax.comm.SerialPortEvent) in LettoreSeriale
    public class LettoreSeriale implements SerialPortEventListener{
    ^
    D:\esercizi Java\visImg\LettoreSeriale.java:15: missing method body, or declare abstract
    public LettoreSeriale() throws PortInUseException,IOException,
    ^
    4 errors

  8. #8
    allora, nella classe aggiungi anche il seguente metodo:
    codice:
    
    public synchronized void serialEvent(SerialPortEvent event) {
    	switch(event.getEventType()) {
    		case SerialPortEvent.BI:
    		case SerialPortEvent.OE:
    		case SerialPortEvent.FE:
    		case SerialPortEvent.PE:
    		case SerialPortEvent.CD:
    		case SerialPortEvent.CTS:
    		case SerialPortEvent.DSR:
    		case SerialPortEvent.RI:
    		case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
    		break;
    		case SerialPortEvent.DATA_AVAILABLE:
    		byte[] readBuffer = new byte[256];
    		try { Thread.sleep(10);} catch (InterruptedException e) {}
    		try {
    			String str="";
    			while (inputStream.available() > 0) {
    				int numBytes = inputStream.read(readBuffer);
    				if (numBytes>0) {
    					//str=str+getText(readBuffer,numBytes);
    				}
    			}
    			//strATResponse+=str;
    			notifyAll();
    		} catch (IOException e) {}
    	break;
    	}
    }
    
    il resto stai attento che il forum ha messo qualche a capo dove non dovrebbe esserci, come ad esempio per UnsupportedCommOperationException
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

  9. #9
    OK grazie, almeno ora so che il package è installato correttamente!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.