【发布时间】: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