C# 从UWP中的串行端口读取数据

C# 从UWP中的串行端口读取数据,c#,windows,uwp,serial-port,C#,Windows,Uwp,Serial Port,使用Windows.Devices.SerialCommunication,如何从串行端口读取数据 我初始化SerialDevice类,使用设备的适当流实例化DataReader和DataWriter类。我可以按以下方式向设备写入(设备按预期方式运行) 但我看不出设备的响应。设备明确响应,它在设备协议(CashCodeprotocol)中指定。我使用.NET Framework应用程序与设备进行了完美的通信 我尝试以多种方式阅读,例如,我尝试了以下方法: uint i =

使用
Windows.Devices.SerialCommunication
,如何从串行端口读取数据

我初始化
SerialDevice
类,使用设备的适当流实例化
DataReader
DataWriter
类。我可以按以下方式向设备写入(设备按预期方式运行)

但我看不出设备的响应。设备明确响应,它在设备协议(
CashCode
protocol)中指定。我使用.NET Framework应用程序与设备进行了完美的通信

我尝试以多种方式阅读,例如,我尝试了以下方法:

            uint i = await _dataReader.LoadAsync(BufferSize);
            if (i > 0)
                await _dataReader.LoadAsync(i);
            _dataReader.ReadBytes(res);
问题还在于我不知道确切的
BufferSize
。这本书从不读任何东西


我正在制作一个
UWP
(,它必须是)应用程序。我制作了一个.NETFramework应用程序,它可以按预期的方式工作,但结果证明我不能在这个项目中使用它。串行设备为
Suzo Happ票据对票据单位
。可能这个问题与有关。

您是如何设置的?缓冲区的大小其实并不重要(您只是在循环中读取它)。另请注意,如果愿意,您可以使用.NET流API。@PeterTorr MSFT Cloud循环是否可以在单独的线程中执行?你能给我举个例子吗?我没有以任何方式明确设置InputStreamOptions。有帮助吗?@PeterTorr MSFT谢谢你帮我搜索它。我已经找到了一个类似的官方项目,做了所有的事情,只是没有取消令牌和锁的事情。我怀疑问题是否存在,但我会尝试。我使用Bing:-)但不需要取消。如果你仍然有问题,你将需要张贴一个最小的复制。而且可能很难提供帮助,因为它需要特定的硬件。
            uint i = await _dataReader.LoadAsync(BufferSize);
            if (i > 0)
                await _dataReader.LoadAsync(i);
            _dataReader.ReadBytes(res);