Я пытаюсь установить настраиваемую скорость передачи 10400 для подключенного устройства. Я использую Qt Creator IDE для взаимодействия с устройством. Однако с помощью нескольких методов я не могу изменить скорость передачи 9600, которая является скоростью передачи по умолчанию.
я пробовал QSerialPort::setBaudRate()
, но не удается из-за неподдерживаемого делителя. я пробовал stty -F /dev/ttyUSB0 10400
однако он возвращает как неверный аргумент.
Я пытаюсь использовать freediag
API для того, чтобы теперь установить скорость передачи 10400. Однако из-за плохой предоставленной документации я не совсем уверен, как установить скорость передачи. Это команда IB 10, однако я понятия не имею, где выполнить эту команду (возможно, она выполняется в неправильном каталоге?)?
Если есть какие-то альтернативные решения, чем то, которое я пробую, объясните мне, поскольку у меня заканчиваются варианты.
Я предполагаю, что ваше устройство подключено через виртуальный COM-порт USB. В этом приложении QSerialPort
уровень абстракции над USB, поэтому попытка напрямую установить скорость передачи через USB stty
не будет работать (если это вообще возможно — USB — очень строго определенный протокол).
То, что вы хотите установить, это бод QSerialPort
Сам объект, как вы пытаетесь сделать, но 10400 не стандартная скорость передачи данных. Маловероятно, что устройство использует этот бод — попробуйте использовать QSerialPort::setBaudRate()
со значением 14400 вместо.
Вы, вероятно, должны отредактировать свой пост с подробной информацией о вашей настройке. Какова природа устройства? Использует ли он RS232, RS485 или какой-либо другой последовательный протокол? Есть ли у вас пример кода для проверки того, что вы общаетесь с ним правильно, и какого результата (со стороны аппаратного или программного обеспечения) вы ожидаете при правильном общении?
Других решений пока нет …