Go Down

Topic: OT: moduli usb/seriale CP2102 (Read 231 times) previous topic - next topic

Jul 08, 2013, 06:43 pm Last Edit: Jul 08, 2013, 06:50 pm by bigjohnson Reason: 1
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: [Select]

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: [Select]

java -cp .:RXTXcomm.jar SerialTest2


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

Alberto

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy