ciao a tutti
sto scrivendo un programma per collegarmi tramite porta seriale a diversi ruoter tra cui Cisco.
La connessione funziona perfettamente su router Aethra mentre con i Cisco la comunicazione risulta essere a senso unico, ossia trasmetto ma non ricevo nulla e non riesco a capirne il motivo.
Per la cronaca uso la libreria che ho trovato su questo sito www.cloudhopper.com/opensource/rxtx/
ora il codice che uso per la comunicazione
per l'invio
per la ricezionecodice:public boolean trasmetti(char c) { try { FileOutputStream fos = new FileOutputStream(serialPort.getName()); BufferedOutputStream buffer = new BufferedOutputStream(fos); //buffer.write((""+c).getBytes()); buffer.write((byte) c); fos.flush(); buffer.flush(); fos.flush(); fos.close(); return true; } catch (Exception ex) { return false; } }
aiutami please!!codice:serialPort.addEventListener(new SerialPortEventListener() { public void serialEvent(SerialPortEvent spe) { if(spe.getEventType() == SerialPortEvent.DATA_AVAILABLE){ try { InputStreamReader isr = new InputStreamReader(serialPort.getInputStream()); BufferedReader buffer = new BufferedReader(isr); while (isConnected) { char[] cbuf = new char[1]; buffer.read(cbuf); if(ascoltatoreConnessione != null && (byte)cbuf[0] != 0x0) ascoltatoreConnessione.eseguiConCarattere(cbuf[0]); } } catch (Exception ex) { ex.printStackTrace(); } } } });
ps: esiste un modo per trasmette le freccie direzionali??

Rispondi quotando
, in quanto potrebbe esserci qualcosa nella configurazione che impedisce la trasmissione. Va anche detto che la libreria da te usata è aggiornata al 2008, ed è stata rilasciata da terze parti, niente di ufficiale (è tutto di guadagnato quello che funziona, ma per il resto...).
