[an error occurred while processing this directive] [an error occurred while processing this directive]
а вот если так(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Romario 23 августа 2001 г. 21:21
В ответ на: u-cos 2.51 вопрос по флагам отправлено Romario 23 августа 2001 г. 21:02

в задаче с приритетом 5
взамен:
flag_cur =
OSFlagPend(flag_grp,SLEEP_FLAG,OS_FLAG_WAIT_CLR_ALL,time_out,err)
написать:
flag_cur =
OSFlagPend(flag_grp,ACK_FLAG,OS_FLAG_WAIT_SET_ANY,0,err)


а в задаче с приоритетом 6
взамен:
2)если вывалилось по SLEEP_FLAG,обнуление флага SLEEP_FLAG с помощью OSFlagAccept
написать так:
2)если вывалилось по SLEEP_FLAG,обнуление флага SLEEP_FLAG с помощью OSFlagAccept + OSFlagPost(ACK_FLAG,OS_FLAG_SET,NULL);

то, задача 5 вываливается без тайм-аута. Т.е не пашет
OS_FLAG_WAIT_CLR_ALL хотя, в другой конфигурации задач он работает.
Что это может быть? может неправильно сконфигурировал логику
работы с флагами?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru