Я хотел бы создать приложение Linux, которое отображается как последовательный порт (например, / dev / ttyTEST). Это приложение будет прослушивать команды, отправленные в порт, и отвечать обратно.
Возможно ли это с помощью Qt / C ++? Я не занимался программированием ядра, поэтому надеюсь, что это возможно в пользовательском пространстве.
Все зависит от того, что ожидает приложение, использующее такое устройство.
Если /dev/ttyTEST
должен вести себя как настоящее последовательное устройство и правильно реагировать на все ioctl, которые задают его скорость и т. д., то это невозможно сделать из пользовательского пространства. Это не будет слишком сложно реализовать в пространстве ядра.
Если /dev/ttyTEST
только нужно быть tty, тогда предоставить псевдо Tty.
Если /dev/ttyTEST
просто быть чем-то, что другое приложение может писать и читать с тех пор socketpair()
Является ли.
Если у вас есть контроль над кодом приложения, вы можете проверить, является ли устройство парой сокетов или реальным символьным устройством, и игнорировать сбои API-интерфейса, специфичного для последовательного порта, в сокете.