我已经设法在visual C#express中识别驱动器和串行端口,但我仍然无法访问特定设备(RepRap打印机)。我想发送一个字符串数组,但首先我需要找到它,我该怎么做?我正在使用Windows 7。
获取驱动器:
using System.Linq;
using System.IO;
using System;
class Program
{
static void Main(string[] args)
{
var drives = DriveInfo.GetDrives();
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach(DriveInfo dv in drives)
{
Console.WriteLine("drive Name:{0}", dv.Name);
}
Console.ReadLine();
}
}
获取串口:
using System;
using System.IO.Ports;
namespace SerialPortExample
{
class SerialPortExample
{
public static void Main()
{
string[] ports = SerialPort.GetPortNames();
Console.WriteLine("The following serial ports were found:");
foreach (string port in ports)
{
Console.WriteLine(port);
}
Console.ReadLine();
}
}
}
非常感谢提前!
答案 0 :(得分:1)
我建议您先检查这两个问题和答案:
Get the device name connected to the serial port
这个解释了为什么它很难,但提供了一些关于如何询问Windows它对设备有什么了解的线索
Getting Serial Port Information
这是一堆进一步的代码示例。
一般情况下,您可能希望通过NAME找到设备,系统分配给它 - 您可以知道名称及其类似“reprap#1”等等。我只是猜测。最好要求扫描所有COM设备名称并将其显示给用户,以便他可以选择合适的名称。
如果您想自动检测,您可以尝试通过一些较低级别的细节(如drivername等)检测它们,但通常最好将其留给用户。