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

 
 
 
Reply to this topicStart new topic
> Зачем при создании семафора vSemaphoreCreateBinary он взводится?
Beginning
сообщение Jun 11 2012, 13:54
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



У меня получается что я cоздаю семафор и сразу же мне его надо сбрасывать. Какой сокраментальный смысл в взведении семафора при создании?


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
kan35
сообщение Jun 12 2012, 12:08
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Понимать это можно так: семафор создается в свободном для захвата (...take) состоянии.
Основная цель семафоров это управление доступа к ресурсам. На примере SPI порта: функция передачи захватывает семафор, по выходу - освобождает. Соответственно создаваться семафор должен свободным.

Сообщение отредактировал kan35 - Jun 12 2012, 12:13
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 12 2012, 12:45
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Beginning @ Jun 11 2012, 17:54) *
У меня получается что я cоздаю семафор и сразу же мне его надо сбрасывать.

Бывают нужны и те и другие. Сделайте свой макрос, который создает не взведенный семафор.
Go to the top of the page
 
+Quote Post
Volldemar
сообщение Jun 12 2012, 17:22
Сообщение #4


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

Группа: Участник
Сообщений: 121
Регистрация: 27-04-09
Из: Украина
Пользователь №: 48 342



Цитата(aaarrr @ Jun 12 2012, 15:45) *
Бывают нужны и те и другие. Сделайте свой макрос, который создает не взведенный семафор.

Вот:
Код
#define vSemaphoreCreateBinaryDisabled( xSemaphore )                        \
        ( xSemaphore ) = xQueueGenericCreate( ( unsigned portBASE_TYPE ) 1,    \
        semSEMAPHORE_QUEUE_ITEM_LENGTH, queueQUEUE_TYPE_BINARY_SEMAPHORE )
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 21:50
Рейтинг@Mail.ru


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