我有一个带有多个串口的设备,我用嵌入式linux编程,我想同时和异步地通过这两个端口进行通信.
我知道如何写入一个串口,如:
bytes_sent = write( fd, &(string[i]), 1 );
Run Code Online (Sandbox Code Playgroud)
但这只是一个串口
使用termios结构和c_cflags来区分端口?正如你所看到的那样有点模糊,我只是潜入水中并且用这种方式弄湿了,任何一般帮助指向我的方向依旧都会有所帮助.
你是如何获得第一个串口的文件描述符的?假设它是这样的:
fd = open("/dev/serialPort0", O_RDWR);
Run Code Online (Sandbox Code Playgroud)
你应该能够做到:
fd2 = open("/dev/serialPort1", O_RDWR);
Run Code Online (Sandbox Code Playgroud)
并获取用于其他串行端口的文件描述符.写下你想要的每一个:
char str1[] = "Hello, port 1!\n";
char str2[] = "hello, port 2!\n";
write(fd, str1, sizeof str1);
write(fd2, str2, sizeof str2);
Run Code Online (Sandbox Code Playgroud)