
如何在 QNX 作業系統中設定 USB 轉串口裝置以在類似程式碼中使用它open("/dev/serusb1")
?我正在使用 VMWare 來託管 QNX。如何檢查USB適配器是否正確連接?
答案1
您需要運行的驅動程式稱為 devc-serusb,一旦執行,如果硬體存在,您應該在 /dev 中看到 /dev/serusbx 裝置。 (其中 x 是您的設備索引)
將 USB 轉串口裝置連接到實體機後,請確保它連接到正在執行的 QNX Vmware 映像,並且在執行驅動程式後該裝置確實顯示在 /dev 中。
下一步是確認它可以從命令列運行。將 serusb 裝置的另一端連接到發送資料的裝置。然後在命令列運行:
# cat /dev/serusb1
如果您沒有看到任何資料傳入,則可能是波特率或其他序列參數已關閉,請查看 stty 命令文件以正確設定參數。如果您在 115200 8-n-1 上運行,那麼您可以執行以下操作:
# stty baud=115200 < /dev/serusb1
如果您可以在從命令列“cat”設備時獲取要顯示的數據,那麼您就可以從程式中打開設備並從中讀取數據,就好像它是一個文件一樣,如下所示:
int main(int argc, char* argv[]) {
int fd=-1;
char ch;
fd = open("/dev/serusb1", O_RDONLY);
while(read(fd, ch, 1) > 0) {
printf("%c", ch);
}
}