Название: Проблемы с двумя таймерами и Езернетом Отправлено: billidean от Январь 29, 2016, 21:40 Добрый день всем.
Такая проблема с двумя таймерами: -первый таймер кидает запрос по Езернету с периодом Х (например 420 мс) - он служит для контроля связи с устройством. -второй таймер кидает запрос по Езернету на то же самое устройство с периодом Y (например 100 мс) - он ведет периодический информационный обмен с устройством. Обработка принимаемых данных от обоих запросов производится в одном слоте. иногда получается так, что один из таймеров "замирает", это я сужу по снифферу, т.е. один из этих обменов идет дальше, а второй перестает. Я так понимаю, что происходит коллизия при выдаче запросов... или ?????? В-общем, задача такая - контролировать соединение по Езернету с устройством и в это же время вести циклический обмен с ним же. Что можете посоветовать??? Название: Re: Проблемы с двумя таймерами и Езернетом Отправлено: Old от Январь 29, 2016, 21:44 Странный контроль. Вы получаете отзыв от устройтва каждые 100 мс, но живость его хотите дополнительно проверять раз в 400 мс.
Если вы перестали получать ответы раз в 100 мс, то через 400 мс он уже четыре раза как не ответит. ??? Название: Re: Проблемы с двумя таймерами и Езернетом Отправлено: billidean от Январь 29, 2016, 22:04 Может быть это и не правильно, НО ока вопрос в том, что при постоянном коннекте в устройством обработка ответа от запросов из одного из таймеров пропадает.
Я понимаю, что один из запросов просто теряется, и ответ на него просто не приходит... и вся конструкция рушится... Но пока не могу понять, как все сделать правильно. Название: Re: Проблемы с двумя таймерами и Езернетом Отправлено: Old от Январь 29, 2016, 22:08 Часто, устройства не предполагают получение нового запроса, пока выполняется текущий. У вас возможна такая ситуация. Вы отправляете рабочий запрос (который раз в 100 мс), потом срабатывает контрольный таймер и вы отправляете контрольный запрос, а железка его просто глотает.
Название: Re: Проблемы с двумя таймерами и Езернетом Отправлено: Bepec от Январь 29, 2016, 22:28 Железяка занята может быть. Если же у вас железяка представляет полноценный пк, данный комментарий отпадает :)
Название: Re: Проблемы с двумя таймерами и Езернетом Отправлено: billidean от Январь 29, 2016, 22:55 Железяка - некий датчик.
На счет занятости железяки - понял... может быть так и происходит...буду разбираться. Спасибо за помощь. |