Linux — Как установить пользовательскую скорость передачи данных для подключенного устройства

Я пытаюсь установить настраиваемую скорость передачи 10400 для подключенного устройства. Я использую Qt Creator IDE для взаимодействия с устройством. Однако с помощью нескольких методов я не могу изменить скорость передачи 9600, которая является скоростью передачи по умолчанию.

я пробовал QSerialPort::setBaudRate(), но не удается из-за неподдерживаемого делителя. я пробовал stty -F /dev/ttyUSB0 10400однако он возвращает как неверный аргумент.

Я пытаюсь использовать freediag API для того, чтобы теперь установить скорость передачи 10400. Однако из-за плохой предоставленной документации я не совсем уверен, как установить скорость передачи. Это команда IB 10, однако я понятия не имею, где выполнить эту команду (возможно, она выполняется в неправильном каталоге?)?

Если есть какие-то альтернативные решения, чем то, которое я пробую, объясните мне, поскольку у меня заканчиваются варианты.

1

Решение

Я предполагаю, что ваше устройство подключено через виртуальный COM-порт USB. В этом приложении QSerialPort уровень абстракции над USB, поэтому попытка напрямую установить скорость передачи через USB stty не будет работать (если это вообще возможно — USB — очень строго определенный протокол).

То, что вы хотите установить, это бод QSerialPort Сам объект, как вы пытаетесь сделать, но 10400 не стандартная скорость передачи данных. Маловероятно, что устройство использует этот бод — попробуйте использовать QSerialPort::setBaudRate() со значением 14400 вместо.

Вы, вероятно, должны отредактировать свой пост с подробной информацией о вашей настройке. Какова природа устройства? Использует ли он RS232, RS485 или какой-либо другой последовательный протокол? Есть ли у вас пример кода для проверки того, что вы общаетесь с ним правильно, и какого результата (со стороны аппаратного или программного обеспечения) вы ожидаете при правильном общении?

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]