Как получить доступ к устройству и отправить на него данные?
Мне удалось определить диски и последовательные порты в Visual C# Express, но я все еще не могу получить доступ к определенному устройству (RepRap Printer). Я хотел бы отправить массив строк к нему, но сначала мне нужно найти его, как я могу это сделать? Я использую 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();
}
}
}
Спасибо заранее!
1 ответ
Я рекомендую вам сначала проверить эти два вопроса и ответы:
Получить имя устройства, подключенного к последовательному порту
Этот кратко объясняет, почему это сложно, но дает некоторые подсказки о том, как спросить Windows, что он знает об устройствах
Получение информации о последовательном порте
Вот еще несколько примеров кода.
Как правило, вы, вероятно, захотите найти устройство по его ИМЯ, которое присвоила ему система - вы, вероятно, знаете его имя и что-то вроде "reprap#1" и т. Д. Я просто догадываюсь. Возможно, стоит попросить отсканировать все имена COM-устройств и отобразить их пользователю, чтобы он мог выбрать подходящее.
если вы хотите автоматически обнаруживать, вы можете попытаться обнаружить их с помощью некоторых деталей более низкого уровня, таких как drivername и т. д., но обычно лучше оставить это пользователю.