Как правильно обеспечить "таймаут тишины" в ModBus RTU (при прогр. на С++) |
Ответить |
Автор | |
Участник Присоединился: 24 Апрель 2007 Online Status: Offline Публикации: 41 |
Опубликовано: 20 Май 2008 19:22 |
просто Sleep(время таймаута) достаточно?
И нужно ли закрывать ком-порт, прежде чем делать таймаут тишины? |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 02 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 427 |
|
Порт закрывать не надо. При приеме достаточно просто заполнить аккуратно структуру commtimeout и dcb и принимать просто одной функцией ReadFile. При передаче просто передавать функцией WriteFile. Необходимости перерыва я не вижу, если мы передали , то ждем ответа. И только после него можем передавать заново. Но sleep нормально будет работать , только время не надо кроить - менее 10 мс в виндузе вообще ничего не отрабатывается (кроме спец мер.), так что поставьте побольше.
|
|
При экспериментах ни один чайник не пострадал
----------- Плохому системному интегратору всегда OPC сервер мешает. ______________ Пишу на C++ за еду |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |