2014-05-07 44 views
1

我想創建一個顯示爲串行端口的Linux應用程序(例如/ dev/ttyTEST)。這個應用程序將偵聽發送到端口的命令,並回應。在Qt/C++中創建虛擬串行端口

這可能使用Qt/C++嗎?我沒有進行內核編程,所以我希望這可以在用戶空間。

回答

1

一切都取決於使用此類設備的應用程序所期望的。

如果/dev/ttyTEST的行爲類似於真實的串行設備,並對設置其速度等的所有ioctl進行正確響應,則無法從用戶空間完成此操作。但是,在內核空間中實現並不難。

如果/dev/ttyTEST僅需要一個tty,然後provide a pseudo tty

如果/dev/ttyTEST僅僅是一些其他應用程序可以寫入從此socketpair() does it讀取。

如果您可以控制應用程序的代碼,那麼您可以讓它檢查設備是套接字對還是實際字符設備,並忽略套接字上特定於串行端口的API的故障。