Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Ветвление программы
Отправлено
S 26 августа 2008 г. 11:01
При работе программа проверяет условия, которые выражаются в проверке значений с датчиков. Эти действия отображаются на индикаторе. В случае несовпадения условия, программа ожидает установления на датчике значения, соответствующего условию. На индикаторе оператор наблюдает, что программа ожидает выполнения условия - происходит зацикливание на условии. По нажатию кнопки оператором, программа должна пропустить не выполняющееся условие.
Возник вопрос: как правильно реализовать прерывание(пропуск) невыполнящегося условия и организовать последовательное прохождение всех датчиков? При этом, этих условий проверятся множество, последовательно друг за другом. И нужно ещё обеспечить возможность пропуска раздела (датчики в программе проверяются по типам, например: температурные, напряжения) датчиков.
Нажатие1 - пропуск зацикливание на датчике.
Нажатие2 - пропуск зацикливание на датчике и пропуск проверяемого типа датчиков.
Пока пришла в голову следующая реализация:
while(1) //проверка одного типа датчиков
{
while(1)
{
if((условие для датчика)|(нажатие1|нажатие2 - пропуск данного условия))
break; //переходим к следующему датчику
else
{
вывод на ЖКИ, что происходит зацикливание на датчике
}
}
if(нажатие2 - пропус данного типа датчиков)break;//
....
....
....
while(1)
{
if((условие для датчика)|(нажатие - пропуск данного условия))
break;
else
{
вывод на ЖКИ, что происходит зацикливание на датчике
}
}
break; //выход, т.к. все датчики обработаны
}
Составить ответ | Вернуться на конференцию
Ответы
- Проверку всех условий - в массив функций. И все условия перебирать по индексу. - Vladimir Ljaschko (26.08.2008 12:31:38 194.158.204.49, пустое)
- можно вот так извратится - alostap (26.08.2008 12:19:24 77.66.221.12, 358 байт)
- Гляньте автоматное программирование, Шатыло кажишь статьи писал, иначе есть шанс запутаться в отладке. - Builder (26.08.2008 11:58:57 192.168.9.138,81.25.47.235, пустое)
- Шалыто - bp (26.08.2008 12:11:51 ,91.122.64.9, пустое)
- Точно, вот ссылки - Builder (26.08.2008 12:46:10 192.168.9.138,81.25.47.235, 290 байт)
- А зачем тогда программная проверка, если оператор должен на кнопки жать - пущай себе сам проверяет, а программа пусть отдыхает :)) - MBedder (26.08.2008 11:37:20 80.92.96.19, пустое)