Доброго дня! Посмотрел ваш код. Первое, что бросилось в глаза, и откровенно не понравилось (извините, говорю, что есть), это способ формирования временнЫх интервалов. Большую часть времени работы в активном режиме процессор "простаивает", формируя многочисленные паузы. Скорее всего, в вашей задаче это приемлемо. Но у меня система должна работать в реал тайм, и на все про все есть только 3,5 мс - за это время нужно успеть "упаковать" пакет данных, перейти из режима RX в режим TX, передать пакет в эфир, и постараться снова вернуться в режим RX. Так же и при приеме пакета - за 3,5 мс нужно принять, распаковать, идентифицировать полученную инфу, и выполнить полученные команды. При этом в сети должно быть до 10 равнозначных модулей, выполняющих примерно одинаковые функции с периодичностью, указанной выше (~3,5 мс). И большинство модулей должно общаться со всеми другими узлами сети. Значит, схема 1RX + 6TX сразу отпадает. Отсюда и требования к быстродействию, и мое брюзжание по поводу не рационального расхода машинных ресурсов. ))) Таким образом, первое, что мне придется модифицировать в вашем проекте (если взять его за основу), это заменить все паузы на интервалы, формируемые таймером. Далее попробую как-то "причесать" ваш проект, и сделать его более "читабельным". Очень надеюсь, что вы не сочтете это за нарушение авторских прав. )))
|