在哪里找到GetDeviceSelector的portName(String portName)

问题描述 投票:1回答:1

我尝试使用GetDeviceSelector()函数找到COM端口,正如我在这里描述的:Unable to open UART port on Windows IoT with 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知道端口名称的方法是什么?换句话说 - 获取所需端口名称的算法是什么?

UPDATE

回答丹尼尔的问题。我使用Windows.Devices.SerialCommunication.SerialDevice类进行交互,方法如下:

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仅适用于串行设备,目前我只需要串口设备。

c# serial-port raspberry-pi3 uart windows-iot-core-10
1个回答
1
投票

Windows IoT Core上的COM端口名称似乎不起作用。从本文档:Configuration of COM Ports,Ntddser.h等基本文件在Windows IoT Core上不可用(您可以搜索它)。

更多参考文献:“Using Serial.sys and Serenum.sys”“COM Port Database

如果要在板上找到指定的串行器件,建议在SerialDevice.GetDeviceSelector API中使用“UART0”。

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

参考“Raspberry Pi 2 & 3 Pin Mappings - Serial UART

相关问题:“Serial Port support for Raspberry Pi with Windows IoT

© www.soinside.com 2019 - 2024. All rights reserved.