У меня есть устройство GPS, подключенное к / dev / ttyUSB0. Я написал простой код для чтения данных из него, но чтение всегда не удается. Я понятия не имею, в чем проблема, это мой код, не могли бы вы помочь мне:). [ 111]
#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();
}
Я полагаю, потому что у вас нет /
перед dev
?
fd = open("/dev/ttyUSB0" , O_RDWR | O_NOCTTY | O_NDELAY);
<час> Если бы я был вами, я бы сделал переменную для этого
/dev/ttyUSB0
[ 118] Таким образом, open
и error
могут показывать одно и то же имя файла. Сохраняет путаницу.