Создайте виртуальный последовательный порт в Qt / Stack Overflow

Я хотел бы создать приложение Linux, которое отображается как последовательный порт (например, / dev / ttyTEST). Это приложение будет прослушивать команды, отправленные в порт, и отвечать обратно.

Возможно ли это с помощью Qt / C ++? Я не занимался программированием ядра, поэтому надеюсь, что это возможно в пользовательском пространстве.

1

Решение

Все зависит от того, что ожидает приложение, использующее такое устройство.

Если /dev/ttyTEST должен вести себя как настоящее последовательное устройство и правильно реагировать на все ioctl, которые задают его скорость и т. д., то это невозможно сделать из пользовательского пространства. Это не будет слишком сложно реализовать в пространстве ядра.

Если /dev/ttyTEST только нужно быть tty, тогда предоставить псевдо Tty.

Если /dev/ttyTEST просто быть чем-то, что другое приложение может писать и читать с тех пор socketpair() Является ли.

Если у вас есть контроль над кодом приложения, вы можете проверить, является ли устройство парой сокетов или реальным символьным устройством, и игнорировать сбои API-интерфейса, специфичного для последовательного порта, в сокете.

1

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


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