
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 open
und error
derselbe Dateiname angezeigt werden. Das vermeidet Verwirrung.