Ciao,
ho questo adattatore usb seriale che pare essere compatibile con Arduino.
Tra i pin dell'uscita c'è n'è uno che si chiama rst e dovrebbe essere connesso al reset dell'arduino.
Ho letto la documentazione e per resettare l'Arduino viene usata la linea rts della seriale tramite un condensatore.
Ho collegato il tutto e non funziona niente.
Ho provato a collegare il tester tra il pin rst dell'adattatore e la massa, facendo girare questo programma
import gnu.io.*;
public class SerialTest {
public static void main(String[] args) {
try {
//String portName = "/dev/cu.SLAB_USBtoUART";
String portName = "/dev/tty.SLAB_USBtoUART";
//String portName = "/dev/tty.usbserial";
//String portName = "COM6";
System.out.println(portName);
CommPortIdentifier portid = CommPortIdentifier.getPortIdentifier(portName);
SerialPort serialPort = (SerialPort)portid.open("Serialport DTR/RTS test", 1000);
serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
//serialPort.disableReceiveTimeout();
for (int i=0 ; i<5 ; i++) {
System.out.println("ON");
serialPort.setDTR(true);
serialPort.setRTS(true);
Thread.sleep(1000);
System.out.println("OFF");
serialPort.setDTR(false);
serialPort.setRTS(false);
Thread.sleep(1000);
}
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
System.exit(0);
}
}
in java che alza e abbassa per un secondo i pin rts e cts, ma la tensione sul pin non cambia, rimane sempre 5v, ho provato anche con una resstenza di pull down da 1K ma niente, di adattatori ne ho due e li ho provati entrambi.
Il programma funziona perché usandolo su un adattatore usb rs232 lo stato dei pin rts e dtr cambia da -6 a +6v.
La domanda: è qualcuno ha già usato sti adattatori e magari ha capito cosa c'è che non va (a parte ovviamente che sono cinesi).
La trasmissione dati seriale sui pin tx e rx funziona bene.
Grazie.
Alberto