新開發人員,Linux,C++,USB - 串行適配器。Linux新手:C++打開和關閉USB端口問題
我已經完成了可以寫入USB端口的程序。但是,如果我更改了我的代碼,請以root身份重新登錄,然後嘗試再次寫入端口,但未通過。只有當我從計算機上拔下USB電纜並重新嘗試重新發送數據之前,它纔會起作用。如果您需要更多信息,請告訴我。
我在兩臺不同的計算機上,無法複製和粘貼,但這裏是我正在做的事情的要點。
int fd = 0;
int iOut = 0;
char *ComPort = "/dev/ttyUSB0";
fd=open(ComPort, O_CREAT | O_RDWR | O_NOCTTY | O_NDELAY);
if(fd == -1)
cout << "unable to open" << endl;
// blah blah getting data ready to be sent
// create a block of 50 hex characters to be sent : DB
iOut = write(fd, $DB, sizeof(DB));
// blah blah error checking
close(fd);
return(0);
'它不通過' - 請解釋一下,你有什麼錯誤。另外,如果您在不改變它的情況下運行兩次程序會發生什麼? – 2014-09-11 13:35:33
'0_CREAT'是'O_CREAT'? 0(零)-O(大寫o) – Surt 2014-09-11 13:39:21
@AlexFarber我沒有收到錯誤。我正在做的事情有一個顯示,我想顯示一個特定的號碼。所以,如果我開始新鮮,並顯示1,它會起作用。然後,如果我更改我的src代碼以使其顯示2,它將保持在1.如果我從計算機上拔下USB並重新安裝並再次發送數據,它將顯示2.如果我不更改代碼並重新發送相同的數據,它保持在1. – JonB55 2014-09-11 13:43:11