Ciao ragazzi, spero che qualcuno di vuoi sappia aiutarmi a risolvere questo problema, perchè io veramente le ho tentate tutte.
Il problema è molto semplice nn riesco a capire per quale motivo nn riesco a scirvere sulla porta parallela. Uso le api JCA (javax.comm) su windows XP con sdk/jre 1.4.2.
Il codice che provo ad eseguire è il seguente:
Quello che mi succude è che il programma mi rimane bloccato sul medoto wryteByte, e solo dopo una lunga attesa mi esce un messaggio di errore che indica "Carta esaurita nella stampante".import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import javax.comm.*;
public class Start {
public Start(){
}
public static void main (String[] args){
CommPortIdentifier idPort;
try {
idPort = CommPortIdentifier.getPortIdentifier("LPT1");
CommPort porta = idPort.open("ScriviSuParallela",10);
ParallelPort portaParallela = (ParallelPort)porta;
portaParallela.setMode(ParallelPort.LPT_MODE_SPP);
System.out.println("scrivo " + portaParallela.isPrinterBusy());
portaParallela.restart();
DataOutputStream out = new DataOutputStream(portaParallela.getOutputStream()) ;
System.out.println("sto per scrivere");
out.writeByte(170);
System.out.println("scritto");
} catch (NoSuchPortException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (PortInUseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedCommOperationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Io veramente nn ho capito cosa sia il problema, ho provato anche con altre soluzioni soluzioni: tipo usare le librerie RXTXcomm, oppure altri programmi già fatti, ma io sti led proprio averli accessi nn ci sono state ragioni.
Altre note tecniche che credo possano essere utili per risolvere il problema:
1) quando avvio il sistema operativo, durante il caricamente gli 8 led si accendono per un attimo e poi si rispengono, e successivamente mi lampegiano solo i primi 3 led per 3 volte (se nn ricordo male). Dopo di che tutto tace. Io penso che siano i segnali di controllo che invia il sistema operativo alla porta parallela, ma almeno mi fa pensare che il collegamento che ho fatto è corretto
2) il collegamento è cosi creato, correggietemi se ho sbagliato qualcosa:
![]()
e tutti i rimanenti fili sono sospesi, cioè nn sono collegati a nulla.
Credo di aver detto tutto, spero che sappiate aiutarmi e chiedo scusa se il post è cosi lungo, ma ho cercato di mettere tutte le informazioni possibili.
Confido in voi
Grazie
Marco![]()


Rispondi quotando

