UWP SerialDevice串口自上次更新后不读取任何内容

时间:2018-01-08 14:34:18

标签: c# uwp serial-port

我目前正在UWP应用上开发Mifare芯片阅读器。我编写了一个很小的读/写程序来测试去年12月的事情,当我从假期回来时,似乎SerialDevice类不再起作用了。

我在专有软件上测试了我的设备,并在realterm中测试了一切,并且一切都运行良好。这是我的代码:

string selector = SerialDevice.GetDeviceSelector("COM4");
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 = 115200;
     serialDevice.StopBits = SerialStopBitCount.One;
     serialDevice.DataBits = 8;
     serialDevice.Parity = SerialParity.None;
     serialDevice.Handshake = SerialHandshake.None;

     DataWriter dataWriter = new DataWriter(serialDevice.OutputStream);
     dataWriter.WriteString("INV\r");
     await dataWriter.StoreAsync();
     dataWriter.DetachStream();
     dataWriter = null;

     DataReader dataReader = new DataReader(serialDevice.InputStream);
     dataReader.InputStreamOptions = InputStreamOptions.Partial;
     UInt32 bytesRead = await dataReader.LoadAsync(dataReader.UnconsumedBufferLength);
     string test = dataReader.ReadString(bytesRead);
}

代码像往常一样没有返回错误。但UnconsumedBufferLength为0,bytesRead也为0,测试为“”。

是否有人遇到过这种问题? 几天前这段代码功能正常......我不明白

0 个答案:

没有答案