我正在使用Linux下的c編程語言,嘗試使用串口創建通信應用程序。該程序正在將數據發送到串行端口並從微控制器讀取接收到的數據。接收到的數據可以達到10到64之間的任何字節數,但不多也不少。我使用下面的代碼來讀取和寫入數據:無法從串口讀取超過8個字節
unsigned char send_bytes[] = { 0x1, 0x6, 0x2, 0xAA, 0x2, 0x3, 0xB8, 0x4 };
int w = write(fd, send_bytes, sizeof(send_bytes)); // send
char buffer[64];
int r = read(fd, buffer, sizeof(buffer)); //read data
我的問題是r
永遠不會超過8個字節的數據。有誰知道這是爲什麼?
在此先感謝。
'int read',對函數和變量使用不同的名稱。不要混合它們。 –
對不起,他們沒有被命名爲相同。我是這樣寫的,現在已經修好了。 – user2081328
嘗試添加後續的'read'函數並查看它們返回的內容。 –