Где найти portName для GetDeviceSelector (String portName) - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь найти COM-порт, используя функцию GetDeviceSelector (), как я описал здесь: Невозможно открыть порт UART в Windows IoT с Raspberry Pi 3

Я вижу, что могупредоставить имя порта для функции GetDeviceSelector ():

public static System.String GetDeviceSelector(System.String portName);

В некоторых примерах это что-то вроде "COM0", "COM1" и т. д.
Мой вопрос: где я могу найти документацию, предоставляющую мне портИмена?

Это то, что я получаю от диспетчера устройств Raspberry:

{
  "Class": "Ports",
  "Description": "BCM283x Mini UART Serial Device",
  "ID": "ACPI\\BCM2836\\0",
  "Manufacturer": "Microsoft",
  "ParentID": "ACPI_HAL\\PNP0C08\\0",
  "ProblemCode": 0,
  "StatusCode": 25182218
},
{
  "Class": "System",
  "Description": "ARM PL011 UART Device Driver",
  "ID": "ACPI\\BCM2837\\4",
  "Manufacturer": "Microsoft",
  "ParentID": "ACPI_HAL\\PNP0C08\\0",
  "ProblemCode": 0,
  "StatusCode": 25165834
},

Это пио пластины:

Raspberry 3 Pi pinoutКакой способ узнать имя порта?Другими словами - по какому алгоритму получить название нужного порта?

ОБНОВЛЕНИЕ

Отвечая на вопрос Даниэля. Я взаимодействую с помощью Windows.Devices.SerialCommunication.SerialDevice class, следующим образом:

DataWriter dataWriteObject = new DataWriter(_serial_port.OutputStream);
dataWriteObject.WriteByte(0xF0);
await dataWriteObject.StoreAsync();

DataReader dataReaderObject = new DataReader(_serial_port.InputStream);
await dataReaderObject.LoadAsync(1);
byte resp = dataReaderObject.ReadByte();

Я знаю, что COM предназначен только для последовательных устройств, в настоящее время мне нужны только последовательные устройства.

1 Ответ

0 голосов
/ 13 февраля 2019

Кажется, что имя COM-порта не работает в Windows IoT Core.Из этого документа: Конфигурация COM-портов , Ntddser.h и т. Д. Необходимые файлы недоступны в Windows IoT Core (вы можете выполнить поиск по ним).

Дополнительные ссылки: " ИспользованиеSerial.sys и Serenum.sys"" База данных COM-портов"

Если вы хотите найти указанное последовательное устройство на плате, рекомендуется использовать" UART0 "вSerialDevice.GetDeviceSelector API.

string aqs = SerialDevice.GetDeviceSelector("UART0");

См. " Отображение контактов Raspberry Pi 2 & 3 - последовательный UART "

Проблема, связанная с данной: " Последовательный портподдержка Raspberry Pi с Windows IoT"

...