Задержка 500 мс для каждой команды, отправляемой на последовательный порт - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть графический интерфейс пользователя, который я использую для управления своим оборудованием с помощью команд RS232.У меня есть 40 команд, и каждая команда имеет кнопку, назначенную в графическом интерфейсе, после щелчка команда отправляется на аппаратное обеспечение.

Аппаратное обеспечение работает медленно и иногда зависает, поскольку команды из графического интерфейса передаются с более высокой скоростью. Поэтому я хочу добавить задержку со стороны программного обеспечения, прежде чем они будут отправлены последовательно в порт.

Мне не нужен буфер для хранения команд, их можно просто удалить, если пользователь попытается отправить какие-либо команды в период задержки.Как это может быть достигнуто в Csharp, не давая заморозить графический интерфейс.Поэтому в основном мне нужен коммуникационный обработчик для управления командами, отправляемыми через последовательный порт

1 Ответ

0 голосов
/ 19 декабря 2018

Вы можете задержать вашу программу, позвонив по номеру Task.Delay(int ms).Эта команда создает задачу, которая завершается после указанной мс.

...