0 / 0 / 0
Регистрация: 30.10.2014
Сообщений: 6
|
||||||
1 | ||||||
Com порт, асинхронное чтение не возвращает весь ответ16.01.2019, 12:23. Показов 1136. Ответов 2
День добрый, пишу софтинку для личного ползования, а конкретно опрос ИБП через com порт по протоколу megatec, все вроде неплохо, но столкнулся с одной особенностью.
Если я ставлю Sleep(1000) после отправки запроса "Q1\r" в ИБП, то ответ приходит полностью, независимо от того синхронный вызов ReadFile или нет, но если задержку вовсе убрать или поставить меньше, то получаю обрезок ответа, соответственно сколько успел ибп послать данных, это логично, поэтому я решил что меня спасет асинхронный вызов ReadFile и цикл чтения пока я не получу нужное кол-во данных, но не тут то было, я посылаю запрос, в ответ получаю какое то кол-во данных, а потом ошибку WAIT_TIMEOUT, но как только я отправляю второй запрос "Q1\r" через ReadFile я сначала получаю остаток предыдущего запроса, а потом новый, как с этим бороться? Кликните здесь для просмотра всего текста
0
|
16.01.2019, 12:23 | |
Ответы с готовыми решениями:
2
WinSock - recv возвращает не весь ответ? Асинхронное чтение Асинхронное чтение из COM-порта Асинхронное чтение данных из COM порта |
2712 / 867 / 327
Регистрация: 10.02.2018
Сообщений: 2,051
|
|
16.01.2019, 15:04 | 2 |
Я бы вернулся к синхронному чтению и дополнил его установкой таймаутов SetCommTimeouts.
1
|
0 / 0 / 0
Регистрация: 30.10.2014
Сообщений: 6
|
|
16.01.2019, 16:46 [ТС] | 3 |
по всей видимости так и сделаю пока что
0
|
16.01.2019, 16:46 | |
16.01.2019, 16:46 | |
Помогаю со студенческими работами здесь
3
Асинхронное чтение последовательного порта. MVVM Синхронное и асинхронное чтение в Windows Forms Application COM порт - ответ Не возвращает ответ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
|
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
|
Как сделать перенос строки в Bash
bytestream 28.01.2025
При работе с командной оболочкой Bash разработчики часто сталкиваются с необходимостью форматирования текстового вывода, где ключевую роль играет правильное управление переносами строк. Умение. . .
|
Поиск подстроки в строке с помощью Bash
bytestream 28.01.2025
Поиск подстроки в строке является одной из важных задач в программировании и обработке текстов. Применение такого поиска можно найти в самых разных областях, от анализа данных до разработки. . .
|
[golang] 169. Majority Element
alhaos 28.01.2025
Тут надо вернуть "мажористый" элемент который встречается в слайсе больше чем в половине случаев. По условиям задачи во входных данных такой элемент обязан присутствовать.
/ / . . .
|
Когда лучше использовать LinkedList вместо ArrayList в Java
bytestream 28.01.2025
При разработке Java-приложений выбор правильной структуры данных играет ключевую роль в обеспечении эффективности и производительности программы. ArrayList и LinkedList являются двумя. . .
|
Какой ответ HTTP лучше использовать: 403 Forbidden или 401 Unauthorized, когда недостаточно прав
bytestream 28.01.2025
В современной веб-разработке правильная обработка ошибок и точное информирование клиентов о статусе их запросов играют критическую роль в создании надежных и безопасных приложений. Особое внимание. . .
|
Как получить список всех файлов коммита в Git
bytestream 28.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде и других файлах проекта. В основе работы Git лежит концепция коммитов - снимков. . .
|
Как записать только часть изменений файла в Git
bytestream 28.01.2025
В процессе разработки программного обеспечения часто возникает необходимость сохранить только определенные изменения из множества внесенных правок в файлах. Система контроля версий Git предоставляет. . .
|
[golang] 80. Remove Duplicates from Sorted Array II
alhaos 28.01.2025
В предоставленном упорядоченном по возрастанию целочисленном слайсе, оставить уникальные элементы полюс один возможный дубликат. Вернуть количество таких элементов.
/ / . . .
|
Что такое внедрение зависимостей и для чего оно применяется
bytestream 27.01.2025
В современной разработке программного обеспечения одной из ключевых проблем является управление зависимостями между различными компонентами системы. Внедрение зависимостей (Dependency Injection, DI). . .
|
Как установить cellpadding и cellspacing в CSS
bytestream 27.01.2025
При создании веб-страниц с табличными данными разработчики часто сталкиваются с необходимостью правильного оформления внутренних и внешних отступов в таблицах. В традиционной разметке HTML для этих. . .
|