Не удалось прочитать /dev/ttyUSB0?

Не удалось прочитать /dev/ttyUSB0?

У меня есть GPS-устройство, подключенное к /dev/ttyUSB0. Я написал простой код для считывания с него данных, но считывание всегда завершается ошибкой. Я понятия не имею, в чем проблема. Вот мой код. Не могли бы вы мне помочь :).

#include<iostream>
#include<fstream>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <termios.h>

using namespace std;
int read_port(void) 
{
int fd;
fd = open("dev/ttyUSB0" , O_RDWR | O_NOCTTY | O_NDELAY);
if (fd ==-1) 
{
    perror("open_port: Unable to open /dev/ttyUSB0 - ");

}

   char buffer[32];
    int n = read(fd, buffer, sizeof(buffer));
    if (n < 0)
        fputs("read failed!\n", stderr);
    return (fd);
}

int main()
{
     read_port();
}

решение1

Я предполагаю, что вы пропустили /перед dev?

fd = open("/dev/ttyUSB0" , O_RDWR | O_NOCTTY | O_NDELAY);

Если бы я был тобой, я бы создал для этого переменную.

/dev/ttyUSB0 

Таким образом openи errorмогут отображать одно и то же имя файла. Избавляет от путаницы.

Связанный контент