2016-02-22 3 views
1

, что проблема с этим кодом: (Пишет 11111111 к контактам данных LPT1) Примечание ВЫВОД во время выполнения является: пробег:Запись данных в параллельный порт

Порт: LPT1 обнаружен

Порт определил: [email protected]

Порт открыт: LPT1

из положить приняты : [email protected]

и все еще ждет (ничего не делая)

package javaapplication9; 
import java.io.*; 
import java.util.Enumeration; 
import javax.comm.CommPortIdentifier; 
import javax.comm.NoSuchPortException; 
import javax.comm.ParallelPort; 
import javax.comm.PortInUseException; 
public class JavaApplication9 { 

    public static void main(String[] args) throws NoSuchPortException,   IOException { 

    ParallelIO p1=new ParallelIO(); 



} 

} 
class ParallelIO { 

private static OutputStream outputStream; 

private static InputStream inputStream; 
private static ParallelPort parallelPort; 
private static CommPortIdentifier port; 
static int dat=0b11111111; 
public static final String PARALLEL_PORT = "LPT1"; 


public ParallelIO() { 
    try { 
     //detec the port 
     System.out.println("Port : " + PARALLEL_PORT + " is detected"); 
     // get the parallel port connected to the output 
     port = CommPortIdentifier.getPortIdentifier(PARALLEL_PORT); 
     //port identified 

     System.out.println("Port identified : " + port); 

// open the parallel port -- 
     //port(App name, timeout); 
     parallelPort = (ParallelPort) port.open("0x0378", 1200); 

     //port opened 
     System.out.println("Port opened : " + parallelPort); 

     outputStream = parallelPort.getOutputStream(); 
     parallelPort.notifyOnBuffer(true); 
    //get output 
     System.out.println("Out put taken : " + outputStream); 
     outputStream.write(dat); 
     //data written 
     System.out.println("Data Written : " + dat); 
     outputStream.flush(); 
     outputStream.close(); 

    } catch (NoSuchPortException nspe) { 
     System.out.println("\nPrinter Port" +PARALLEL_PORT +"not found :   NoSuchPortException.\nException:\n" + nspe + "\n"); 
    } catch (PortInUseException piue) { 
     System.out.println("\nPrinter Port " +PARALLEL_PORT +" is in use : " +  "PortInUseException.\nException:\n" + piue + "\n"); 
    } catch (IOException ioe) { 
     System.out.println("\nPrinter Port " +PARALLEL_PORT +" failed to write : " + "IOException.\nException:\n" + ioe + "\n"); 
    } catch (Exception e) { 
     System.out.println("\nFailed to open Printer Port " +PARALLEL_PORT +" with exception : " + e.getMessage() + "\n"); 
    } finally { 
     if (port != null && port.isCurrentlyOwned()) { 
     parallelPort.close(); 
     } 
    System.out.println("Closed all resources.\n"); 
    } 
} 
} 
+0

Выполняется ли выполнение этой строки: 'System.out.println (« Написанные данные: «+ dat»); '? На основании вашего вывода, я бы не догадался. – bradimus

+0

это проблема Я не могу найти такое сообщение в процессе выполнения –

+0

Пробовал ли вы запускать приложение ParallelBlackBox (распространяемое вместе с пакетом commapi), чтобы проверить, правильно ли установлен и настроен ваш коммуникационный API? – nolexa

ответ

0

Порт определил: [email protected]

просто hashcode класса CommPortIdentifier, так как нет переопределения метода toString, тогда вы получите здесь неценовое значение,

ваша запись выглядит нормально,

..и до сих пор ждет (делать ничего), значит ли это, вы не можете писать LPT ??? или вы ожидаете некоторого эха/ответа?

+0

все, что я хочу сделать, это lite up ** массив светодиодов ** подключен непосредственно к портам данных штырьками по кабелю db-25 ничего не работает @Xoce –