Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Захват/освобождение мьютексов
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > FreeRTOS
ArtDenis
Приветствую. Позволяет ли FreeRTOS такое, что захват мьютекса происходит в задаче, а освобождение - в прерывании? Например, я в задаче захватываю мьютекс, защищающий АЦП и запускаю преобразование. Затем в прерывании я читаю значение преобразования и освобождаю мьютекс. Прокатит ли такое?
Дмитриос
Цитата(ArtDenis @ Nov 17 2014, 17:13) *
Приветствую. Позволяет ли FreeRTOS такое, что захват мьютекса происходит в задаче, а освобождение - в прерывании? Например, я в задаче захватываю мьютекс, защищающий АЦП и запускаю преобразование. Затем в прерывании я читаю значение преобразования и освобождаю мьютекс. Прокатит ли такое?

прокатит -- смотрите описание функции
nill
В описании на xSemaphoreGiveFromISR сказано следующее:
Цитата
Mutex type semaphores (those created using a call to xSemaphoreCreateMutex()) must not be used with this macro.
Так что используйте бинарный семафор. Там же приводтся нужный Вам пример использования.
ArtDenis
nill, спасибо за совет. Действительно, оказывается мьютексы нельзя использовать из прерываний.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.