Что Windows делает с неиспользуемыми данными последовательного порта - PullRequest
1 голос
/ 31 марта 2020

У меня есть приложение с USB-устройством (моего собственного производства, которое может быть изменено до определенных степеней), которое выкачивает данные непрерывно, с строго контролируемыми интервалами, порядка 12 байтов каждые 61 микросекунда.

На стороне хоста, который является Windows 10 компьютером, на котором запущено одно приложение UWP, я использую эти данные только по требованию. Как правило, я собираю одну секунду данных за раз, делю их на различные массивы, а затем выполняю DSP для извлечения нужной мне информации с USB-устройства.

Мой вопрос касается данных отправляется на COM-порт, пока мое приложение UWP не прослушивает. Могу ли я прослушивать по требованию и просто игнорировать открытый COM-порт, на который постоянно выводятся данные? Нужно ли перепрограммировать USB-устройство для предоставления данных по запросу?

1 Ответ

0 голосов
/ 31 марта 2020

Мой вопрос касается данных, отправляемых на COM-порт, пока мое приложение UWP не прослушивает. Могу ли я прослушивать по требованию и просто игнорировать открытый COM-порт, на который постоянно выводятся данные?

Для вашего требования SerialPort.Handshake Свойство соответствует сценарию. И System.IO.Ports может быть использовано в платформе UWP. И вы можете сослаться на блог KazukiOta здесь.

При использовании рукопожатия устройство, подключенное к объекту SerialPort, получает инструкцию прекратить отправку данных, когда есть хотя бы ( ReadBufferSize-1024) байт в буфере. Устройство получает команду начать отправку данных снова, когда в буфере 1024 или менее байтов. Если устройство отправляет данные в блоках, размер которых превышает 1024 байта, это может привести к переполнению буфера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...