реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Как в UCOS сделать ожидание нескольких событий
Romanello
сообщение Jun 23 2009, 21:27
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 138
Регистрация: 10-03-05
Пользователь №: 3 204



Нужно одновременно ждать события от двух разных источников, как это можно реализовать в UCOS?
Go to the top of the page
 
+Quote Post
Alex B._
сообщение Jun 24 2009, 06:32
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274



Цитата(Romanello @ Jun 24 2009, 01:27) *
Нужно одновременно ждать события от двух разных источников, как это можно реализовать в UCOS?

Уточните, что надо-то? можно использовать флаги (OS_FLAG) или очереди сообщений
Go to the top of the page
 
+Quote Post
Romanello
сообщение Jun 24 2009, 14:02
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 138
Регистрация: 10-03-05
Пользователь №: 3 204



Надо сделать ожидание события от двух источников, какое придет первым то и обработать, сложность заключается в том что события могут прийти в разных последовательностях, а ожидать нужно любое из этих событий одновременно, с семафорами или флагами не прокатывает, т.к. там можно одновременно ждать только одного события. Типа как в винде есть функция WaitForMultipleObjects. Хотелось бы что то такое же в UCOS реализовать
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 24 2009, 15:10
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Romanello @ Jun 24 2009, 00:27) *
Нужно...

Очереди.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Grape
сообщение Jun 24 2009, 19:52
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 22-10-04
Пользователь №: 956



а что не так с использованием флагов?
вроде можно ждать установки/сброса любого бита в 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
Go to the top of the page
 
+Quote Post
Romanello
сообщение Jun 24 2009, 20:33
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 138
Регистрация: 10-03-05
Пользователь №: 3 204



Спаибо попробую.
Причина редактирования: Бездумное цитирование
Go to the top of the page
 
+Quote Post
nemo777
сообщение Jun 25 2009, 08:42
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 29-01-09
Пользователь №: 44 135



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


OSEventPendMulti
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 22:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016