0 / 0 / 0
Регистрация: 30.10.2014
Сообщений: 6
|
||||||
1 | ||||||
Com порт, асинхронное чтение не возвращает весь ответ16.01.2019, 12:23. Показов 1071. Ответов 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 порта |
2376 / 834 / 317
Регистрация: 10.02.2018
Сообщений: 1,968
|
|
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 порт - ответ Не возвращает ответ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |