В настоящее время я работаю над проектом, в котором мне нужно обмениваться данными с изготовленной на заказ гидролокационной платой через USB‹> последовательное соединение с аппаратным управлением потоком cts/rts со скоростью 4 499 456 бод. Код MATLAB для отправки и получения данных уже доступен и полностью протестирован в Windows.
Проблема возникает при попытке выполнить код MATLAB в Linux (Ubuntu 14.10/15.04). Не работают как команды переключения светодиода на плате (запись), так и получения информации (чтение). Порты Python кода MATLAB с использованием библиотеки pyserial и pylibftdi позволяют писать, но также зависают при получении данных.
Кто-нибудь знает, почему это работает в Windows, но не в Ubuntu? Может проблема с драйвером? Или что-то связанное с cts/rts в Linux?
lsusb
вывод
Bus 002 Device 004: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
dmesg
вывод
[11906.209231] usb 2-3: new high-speed USB device number 5 using ehci-pci
[11906.346701] usb 2-3: New USB device found, idVendor=0403, idProduct=6014
[11906.346713] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[11906.346720] usb 2-3: Product: USB <-> Serial Converter
[11906.346725] usb 2-3: Manufacturer: FTDI
[11906.346730] usb 2-3: SerialNumber: FT69T4N
[11906.351716] ftdi_sio 2-3:1.0: FTDI USB Serial Device converter detected
[11906.351800] usb 2-3: Detected FT232H
[11906.352234] usb 2-3: FTDI USB Serial Device converter now attached to ttyUSB1
Изменить: просто записываю свой прогресс на случай, если кто-то столкнется с той же проблемой. Проблема, кажется, заключается в скорости передачи данных; изменение его на 115200 позволяет читать с устройства, но мешает отправке данных на него.