Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как в UCOS сделать ожидание нескольких событий
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > uC/OS-II
Romanello
Нужно одновременно ждать события от двух разных источников, как это можно реализовать в UCOS?
Alex B._
Цитата(Romanello @ Jun 24 2009, 01:27) *
Нужно одновременно ждать события от двух разных источников, как это можно реализовать в UCOS?

Уточните, что надо-то? можно использовать флаги (OS_FLAG) или очереди сообщений
Romanello
Надо сделать ожидание события от двух источников, какое придет первым то и обработать, сложность заключается в том что события могут прийти в разных последовательностях, а ожидать нужно любое из этих событий одновременно, с семафорами или флагами не прокатывает, т.к. там можно одновременно ждать только одного события. Типа как в винде есть функция WaitForMultipleObjects. Хотелось бы что то такое же в UCOS реализовать
zltigo
Цитата(Romanello @ Jun 24 2009, 00:27) *
Нужно...

Очереди.
Grape
а что не так с использованием флагов?
вроде можно ждать установки/сброса любого бита в OS_FLAGS

OS_FLAGS OSFlagPend(
OS_FLAG_GRP *pgrp,
OS_FLAGS flags,
INT8U wait_type,
INT32U timeout,
INT8U *perr);

flags - is a bit pattern indicating which bit(s) (i.e., flags) you wish to check. The bits you want are
specified by setting the corresponding bits in flags

wait_type - specifies whether you want all bits to be set/cleared or any of the bits to be set/cleared. You
can specify the following arguments:
OS_FLAG_WAIT_SET_ANY
OS_FLAG_WAIT_CLR_ANY
...

/Gr
Romanello
Спаибо попробую.
nemo777
Цитата(Romanello @ Jun 24 2009, 17:02) *
Надо сделать ожидание события от двух источников, какое придет первым то и обработать, сложность заключается в том что события могут прийти в разных последовательностях, а ожидать нужно любое из этих событий одновременно, с семафорами или флагами не прокатывает, т.к. там можно одновременно ждать только одного события. Типа как в винде есть функция WaitForMultipleObjects. Хотелось бы что то такое же в UCOS реализовать


OSEventPendMulti
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.