3

組み込み Linux でプログラミングしている複数のシリアル ポートを備えたデバイスがあり、これら 2 つのポートを介して同時に非同期で通信したいと考えています。

次のような1つのシリアルポートに書き込む方法を知っています。

bytes_sent = write( fd, &(string[i]), 1 );

しかし、それは1つのシリアルポートだけです

ポートを区別するために termios 構造体と c_cflags を使用する必要がありますか? ご覧のとおり、少しあいまいです。私はちょっと飛び込んで、これで足を濡らしているだけです。漠然と正しい方向に向けるための一般的な助けが役立ちます。

4

2 に答える 2

5

最初のシリアル ポートのファイル記述子をどのように取得しましたか? それが次のようなものであると仮定します:

fd = open("/dev/serialPort0", O_RDWR);

あなたはただできるはずです:

fd2 = open("/dev/serialPort1", O_RDWR);

そして、他のシリアル ポートに使用するファイル記述子を取得します。好きなようにそれぞれに書いてください:

char str1[] = "Hello, port 1!\n";
char str2[] = "hello, port 2!\n";

write(fd, str1, sizeof str1);
write(fd2, str2, sizeof str2);
于 2013-06-05T18:33:20.577 に答える