Я пытаюсь связаться с релейной платой Denkovi (FTDI) с Mac.Если я пытаюсь открыть FTDevice, я получаю исключение:
com.ftdi.FTD2XXException: D2XX error, ftStatus:INVALID_HANDLE
Я установил новейшие драйверы FTDI.
Я нашел этот пост: Использование Java для доступа к SainSmart 4 Relay в Mac OS 10.8.5 не работает
Пишут, что проблема в 64-битной JVM,Но это было 4 года назад.Есть ли решение сейчас?
С оригинальным программным обеспечением Denkovi (тоже на Java) я могу общаться с платой.Но у меня есть только банка, поэтому я не мог увидеть код, как они это делают.
Мой код:
public static void main(String[] args) {
FTDevice usb16Relay;
List<FTDevice> fTDevices;
byte[] command = new byte[5];
try {
fTDevices = FTDevice.getDevices();
usb16Relay = fTDevices.get(0);
System.out.println(usb16Relay.getDevDescription());
System.out.println(usb16Relay.getDevID());
System.out.println(usb16Relay.getDevSerialNumber());
usb16Relay.open();
usb16Relay.setBaudRate(9600);
usb16Relay.setDataCharacteristics(WordLength.BITS_8, StopBits.STOP_BITS_1, Parity.PARITY_NONE);
command[0]='x';
command[1]=1;
command[2]=0;
command[3]='/';
command[4]='/';
usb16Relay.write(command);
usb16Relay.close();
} catch (FTD2XXException ex) {
ex.printStackTrace();
}
}