首页 > 解决方案 > Windows 如何处理未使用的串口数据

问题描述

我有一个带有 USB 设备(我自己制作,因此可以在一定程度上对其进行修改)的应用程序,它以每 61 微秒大约 12 个字节的严格控制间隔不间断地输出数据。

在主机端,这是一台运行 UWP 应用程序的 Windows 10 计算机,我只按需使用这些数据。通常我会一次抓取一秒钟的数据,将其拆分为各种数组,然后对其进行一些 DSP 以从 USB 设备中提取我想要的信息。

我的问题是关于在我的 UWP 应用程序未侦听时发送到 COM 端口的数据。我可以按需收听,而忽略一个不断向其抛出数据的开放 COM 端口吗?我应该重新编程我的 USB 设备以按需提供数据吗?

标签: uwpserial-port

解决方案


我的问题是关于在我的 UWP 应用程序未侦听时发送到 COM 端口的数据。我可以按需收听,而忽略一个不断向其抛出数据的开放 COM 端口吗?

根据您的要求,SerialPort.Handshake 属性适合场景。并可System.IO.Ports用于uwp平台。你可以在这里参考 KazukiOta 的博客

使用握手时,连接到 SerialPort 对象的设备会在缓冲区中至少有 (ReadBufferSize-1024) 个字节时停止发送数据。当缓冲区中的字节数为 1024 或更少时,将指示设备再次开始发送数据。如果设备以大于 1024 字节的块发送数据,这可能会导致缓冲区溢出。


推荐阅读