具有不寻常端口名称的Linux串行通信

时间:2013-07-21 11:00:49

标签: mono serial-port uart

我正在尝试用Linux中的串行端口做一些简单的事情。具体做法是:

  

平台 - BeagleBone Black

     

OS - Angstrom Linux

     

单声道版本2.10.8.1(手臂)

该板实现了6个串口,如ttyO0到ttyO5而不是ttyS0。

它实际上有ttyS0到ttyS3。

当我枚举端口时,它会找到ttyS0等但不是ttyO0等。不幸的是,ttyO0等端口实际上有真正的串口。有没有办法让Mono能够使用它们?

谢谢!

菲尔

1 个答案:

答案 0 :(得分:2)

自己想出来。

非常简单。它们专门扫描以/ dev / ttyS开头的端口名称:

public static string [] GetPortNames ()
        {
                int p = (int) Environment.OSVersion.Platform;
                List<string> serial_ports = new List<string>();

                // Are we on Unix?
                if (p == 4 || p == 128 || p == 6) {
                        string[] ttys = Directory.GetFiles("/dev/", "tty*");
                        foreach (string dev in ttys) {
                                if (dev.StartsWith("/dev/ttyS") || dev.StartsWith("/dev/ttyUSB"))
                                        serial_ports.Add(dev);