wsadneg

Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вопрос новичка. Я пишу программу на Си в среде LabWindows/CVI. Суть вот в чём: программа представляет из себя кучу обработчиков от контролов. Происходит событие, запускается обработчик. Пока обработчик должен выполнить одно действие, всё просто. Но вот допустим мне надо выполнить несколько действий, но не подряд, а после каждого действия надо ждать ответ. Например я посылаю команду в компорт, жду ответ, потом посылаю следующую, снова жду и так далее. Вопрос в том, что делать пока не пришёл ответ, ведь ответ приходит с задержкой и в другой обработчик? В принципе я нашёл некоторые способы, например поставить цикл while(! answer){}; но мне кажется это будет неправильно, возможно приведёт к сильной загрузке процессора впустую. Как правильно послать сигнал из одного обработчика в другой? Примерно ткните в нужном направлении, буду разбираться, а то даже не знаю что гуглить. |