我跟着this爲了創建一對串行端口。它工作正常。Qt和虛擬串行端口
現在我正在開發一個Qt應用程序(使用QtSerialPort)通過串口發送數據,而我真正想要的就是這樣一個虛擬串口鏈接。但看起來QSerialPortInfo::availablePorts()
找不到/ dev/pts/...端口。
爲了在linux上製作這樣的串口鏈接,我應該嘗試哪種方法?
我跟着this爲了創建一對串行端口。它工作正常。Qt和虛擬串行端口
現在我正在開發一個Qt應用程序(使用QtSerialPort)通過串口發送數據,而我真正想要的就是這樣一個虛擬串口鏈接。但看起來QSerialPortInfo::availablePorts()
找不到/ dev/pts/...端口。
爲了在linux上製作這樣的串口鏈接,我應該嘗試哪種方法?
由於/ dev/pts不是串行端口,SOCAT會爲/ dev/pts設備創建符號鏈接。所以,一切正確。
但是,使用SOCAT它不是一個好主意,因爲它不穩定(在我的練習中重新打開之後等等)。最好使用tty0tty項目(但不幸的是,QSerialPort :: availablePorts()並沒有枚舉它)。但這不是問題,因爲tty0tty的串行端口可以很容易地固定爲QSerialPort(需要一個小補丁)。
所以,目前沒有辦法列舉這個簡單的方法。也許在Qt 5.6中,將爲QSerialPort枚舉添加tty0tty。
作爲解決方法,您可以在/ dev目錄上使用QDir來枚舉所有符號鏈接(當然,如果您在/ dev目錄中創建此符號鏈接)。
我甚至不能使用它?
您可以使用任何自定義串行端口名稱並將其傳遞給QSerialPort。
,但沒有被貓側
您可以嘗試使用終端例子,這是qtserialport例子部分所示。
請您告訴我更多關於此補丁的信息嗎?
「不幸的是,QSerialPort :: availablePorts()不枚舉它太」 意味着我甚至不能使用它呢?如果明確告訴Qt有關地址,我期望能夠使用它們。我試過'cat dev/tnt1',然後在Qt中寫入數據到'/ dev/tnt0',但'cat'沒有顯示任何內容。 – KcFnMi
「tty0tty的串行端口可以很容易地固定爲QSerialPort(需要一個小補丁)」,請您告訴我更多關於此補丁的信息嗎? – KcFnMi