Pages: [1]   Go Down
Author Topic: OT: moduli usb/seriale CP2102  (Read 196 times)
0 Members and 1 Guest are viewing this topic.
Milan, Italy
Offline Offline
Sr. Member
****
Karma: 0
Posts: 349
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Un saluto a tutti,
sto provando a gestire in java i segnali di controllo del modulino in oggetto per avere 4 ingressi e due uscite digitali

CTS   IN
DCD   IN
DSR    IN
RI   IN
RTS   OUT
DTR   OUT

ho scritto un programmino per leggere gli ingressi con le librerie JSSC e rxtx ma con osx 10.6.8 non mi legge lo stato delle porte in ingresso, ho provato ad eseguire gli stessi programmi tramite un emulatore windows e lo stato delle porte lo legge.
Il programma che ho usato è questo:

Code:
import jssc.SerialPort;
import jssc.SerialPortException;

public class SerialTest2 {
   public static void main(String[] args) {
       try {
           //String portName = "/dev/tty.SLAB_USBtoUART";
           String portName = "COM6";
           System.out.println("Opening serial port " + portName);
           SerialPort serialPort = new SerialPort(portName);
           try {
               serialPort.openPort();
               serialPort.setParams(SerialPort.BAUDRATE_9600,
                                SerialPort.DATABITS_8,
                                SerialPort.STOPBITS_1,
                                SerialPort.PARITY_NONE);

           serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
           Boolean CTS = serialPort.isCTS();
           System.out.print("CTS is: ");
           if (CTS) {
                 System.out.println("True");
           } else {
                 System.out.println("False");
           }
          
           Boolean DSR = serialPort.isDSR();
           System.out.print("DSR is: ");
           if (DSR) {
                 System.out.println("True");
           } else {
                 System.out.println("False");
           }
           Boolean RI = serialPort.isRING();
           System.out.print("RI is: ");
           if (RI) {
                 System.out.println("True");
           } else {
                 System.out.println("False");
           }
          
           while (true) {
                 Thread.sleep(500);
                 Boolean myCTS = serialPort.isCTS();
                 //if ( myCTS != CTS) {
                     if (myCTS == true ) {
                         System.out.println("CTS is: True");
                         CTS = true;
                     } else {
                         System.out.println("CTS is: False");
                         CTS = false;
                     }
                 //}
                
                 Boolean myDSR = serialPort.isDSR();
                 if ( myDSR != DSR) {
                     if (myDSR == true ) {
                         System.out.println("DSR is: True");
                         DSR = true;
                     } else {
                         System.out.println("DSR is: False");
                         DSR = false;
                     }
                 }
                 Boolean myRI = serialPort.isRING();
                 if ( myRI != RI) {
                     if (myRI == true ) {
                         System.out.println("RI is: True");
                         RI = true;
                     } else {
                         System.out.println("RI is: False");
                         RI = false;
                     }
                 }

           }
                           }
            catch (SerialPortException ex) {
                            System.out.println(ex);
            }
       } catch (Exception e) {
           e.printStackTrace();
           System.exit(1);
       }
       System.exit(0);
   }
}

Code:
java -cp .:RXTXcomm.jar SerialTest2

C'è qualcuno che ha il mac e può fare qualche prova?
Grazie.

Alberto
« Last Edit: July 08, 2013, 11:50:46 am by bigjohnson » Logged


Pages: [1]   Go Up
Jump to: