Если USB-устройством является CDC , то Linux автоматически обнаружит его как устройство последовательной связи.
В этом случае вы можете просто открыть / dev / ttyACM0 (или что-то еще) и читать / писать в него.
В любом случае: если устройство USB обнаружено в Linux как устройство последовательной связи, просто откройте его (через / dev /) и относитесь к нему так же, как к последовательным устройствам (за исключением того, что вам не нужно беспокоиться о настройке скорости передачи данных) ставки).
И нет никаких причин, по которым ваш код Delphi должен посылать данные на ваше последовательное устройство «символ за раз» - вы также должны иметь возможность писать целые пакеты в Delphi. Это то, что я делал, когда управлял купольными камерами PTZ (Pan-tilt-zoom) через последовательные порты.
Если устройство не определено как последовательный порт в Linux, вам, возможно, удастся просто открыть установленное / dev / устройство и получить к нему доступ с помощью стандартного файлового ввода-вывода (read () / write ()) , Снова, напишите целые команды за один раз.