【问题标题】:UWP serial port communication for character write and read (UWP and Arduino)用于字符读写的 UWP 串口通信(UWP 和 Arduino)
【发布时间】:2017-11-12 00:40:30
【问题描述】:

我正在使用此代码但不工作并抛出此异常:对​​象引用未设置为对象的实例 devices[0] 给我空值。

   private async void ConnectToSerialPort()
    {
        string selector = SerialDevice.GetDeviceSelector("COM7");
        DeviceInformationCollection devices = await DeviceInformation.FindAllAsync(selector);
        if (devices.Count > 0)
        {
            DeviceInformation deviceInfo = devices[0];
            SerialDevice serialDevice = await SerialDevice.FromIdAsync(deviceInfo.Id);
            Debug.WriteLine(serialDevice);
            serialDevice.BaudRate = 9600;
            serialDevice.DataBits = 8;
            serialDevice.StopBits = SerialStopBitCount.Two;
            serialDevice.Parity = SerialParity.None;

            DataWriter dataWriter = new DataWriter(serialDevice.OutputStream);
            dataWriter.WriteString("your message here");
            await dataWriter.StoreAsync();
            dataWriter.DetachStream();
            dataWriter = null;
        }
        else
        {
            MessageDialog popup = new MessageDialog("Sorry, no device found.");
            await popup.ShowAsync();
        }
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        ConnectToSerialPort();
    }

请帮我删除这个错误,我会非常感谢你。 请帮忙:(

【问题讨论】:

  • 异常发生在哪一行?
  • serialDevice 给出空异常...
  • 请编辑您的问题以添加该详细信息
  • 对不起,这行给了我例外:serialDevice = await SerialDevice.FromIdAsync(deviceInfo.Id);
  • 如果这是给出异常的行,那么问题是deviceInfo 为空。查看devices 数组以查看它包含的内容,因为第 0 项为空。

标签: c# uwp serial-port win-universal-app windows-10-iot-core


【解决方案1】:

您需要像这样在 Package.appxmanifest 中添加串行设备功能:

<Capabilities>
    <DeviceCapability Name="serialcommunication">
      <Device Id="any">
        <Function Type="name:serialPort" />
      </Device>
    </DeviceCapability>
  </Capabilities>

更多信息可以参考Serial device capability usage

【讨论】:

    猜你喜欢
    • 2020-05-08
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    相关资源
    最近更新 更多