Lesen von /dev/ttyUSB0 fehlgeschlagen?

Lesen von /dev/ttyUSB0 fehlgeschlagen?

Ich habe ein GPS-Gerät an /dev/ttyUSB0 angeschlossen. Ich habe einen einfachen Code geschrieben, um Daten daraus zu lesen, aber das Lesen schlägt immer fehl. Ich habe keine Ahnung, wo das Problem liegt. Dies ist mein Code. Können Sie mir bitte helfen :).

#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();
}

Antwort1

/Ich nehme an, weil vor dev? ein fehlt .

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

Wenn ich du wäre, würde ich hierfür eine Variable erstellen

/dev/ttyUSB0 

Auf diese Weise können openund errorderselbe Dateiname angezeigt werden. Das vermeidet Verwirrung.

verwandte Informationen