ログファイルにストリームするのに/dev/ttyUSB
デバイスと/dev/ttyMFD
デバイスがあります。 USBデバイスの場合はtermios
を使用し、それを使って設定することができます。これは非常にまっすぐだったし、これについても少し書類があった。Intel-Edison [C++]上でttyMFDデバイスを開くにはどうすればよいですか?
私はMFDのために何も見つけることができないようです。いくつかの場所はMultiFuctionDeviceと呼ばれ、他の場所はMedfield High Speed UARTデバイスと呼ばれます。 最初は正しいですか?
第2に、私は通常のttyUSBデバイスを開くのと同じ方法でそれを開くことができますか?
ここで私はUSBデバイスを開くのに使うスニッピです。この出くわす誰のための
int fd = open(USBDEVICE0, O_RDWR);
struct termios io;
memset(&io, 0, sizeof(io));
io.c_iflag = 0;
io.c_oflag = 0;
io.c_cflag = CS8|CREAD|CLOCAL; // 8n1, see termios.h for more information
io.c_lflag = 0;
// TODO -- Since we are operating in non-blocking mode; confirm VMIN and VTIME settings have no effect on duration of the read() call.
io.c_cc[VMIN] = 1;
io.c_cc[VTIME] = 5;
speed_t speedSymbol = B921600;
cfsetospeed(&io, speedSymbol);
cfsetispeed(&io, speedSymbol);
int retVal;
retVal = tcsetattr(fd, TCSANOW, &io);
tcflush(fd, TCIOFLUSH);
usleep(100);
EDIT
、警告が1つあります。デバイスをrawモードで開き、すべてをログファイルにダンプする必要があります。解析は投稿する必要があります。すべてが生データとして出てくるでしょうが、何らかの設定をしようとすると、デバイスのバッファはすべてのデータをキャプチャして保持し、より多くのデータが来る前に処理します。 メドフィールドを:Linuxカーネル内
これに該当する人には、注意点が1つあります。デバイスをrawモードで開き、すべてをログファイルにダンプする必要があります。解析は投稿する必要があります。 –
@Tropical_Peach、2番目の部分を取得しないでください。なぜログファイルが必要ですか? rawモードは、UARTを何か他の通常のttyに使用するときに推奨されます。 – 0andriy
このMFDから出てくるすべてのデータを記録する必要があるため、インスタンスにログファイルが必要です。すべてのデータを正しく取得する唯一の方法は、データをログファイルに記録することでした。 –