Перейти к содержанию
    

Как в UCOS сделать ожидание нескольких событий

Нужно одновременно ждать события от двух разных источников, как это можно реализовать в UCOS?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно одновременно ждать события от двух разных источников, как это можно реализовать в UCOS?

Уточните, что надо-то? можно использовать флаги (OS_FLAG) или очереди сообщений

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо сделать ожидание события от двух источников, какое придет первым то и обработать, сложность заключается в том что события могут прийти в разных последовательностях, а ожидать нужно любое из этих событий одновременно, с семафорами или флагами не прокатывает, т.к. там можно одновременно ждать только одного события. Типа как в винде есть функция WaitForMultipleObjects. Хотелось бы что то такое же в UCOS реализовать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а что не так с использованием флагов?

вроде можно ждать установки/сброса любого бита в 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо сделать ожидание события от двух источников, какое придет первым то и обработать, сложность заключается в том что события могут прийти в разных последовательностях, а ожидать нужно любое из этих событий одновременно, с семафорами или флагами не прокатывает, т.к. там можно одновременно ждать только одного события. Типа как в винде есть функция WaitForMultipleObjects. Хотелось бы что то такое же в UCOS реализовать

 

OSEventPendMulti

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...