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

 
 
> xSemaphoreTake() первый раз не получать, Первый вызов на свежем семафоре всегда pdTRUE
Cosmojam
сообщение Feb 10 2012, 13:25
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 12-01-11
Из: Калининград (Koenigsberg)
Пользователь №: 62 182



Собственно вопрос. Создал семафор при вызове задачи, вошёл в цикл и должен упереться в него пока семафор не будет отдан из прерывания или ещё откуда. Но первый вызов xSemaphoreTake() всегда pdTRUE независимо от того был он дан или нет. Есть ли правильный способ бороться с этим кроме "холостого" взятия семафора сразу после создания до входа в цикл или установкой флагов "первый раз" ?


--------------------
typedef enum { no, yes, maybe } bool; | блог тут
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Apr 8 2014, 16:37
Сообщение #2


Гуру
******

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



Пардон, должно быть:
Код
S = xSemaphoreCreateBinaryDisabled();


CCCV иногда подводит.
Go to the top of the page
 
+Quote Post
Dele
сообщение Apr 9 2014, 02:30
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 12-06-10
Пользователь №: 57 898



Цитата(aaarrr @ Apr 8 2014, 20:37) *
Пардон, должно быть:
Код
S = xSemaphoreCreateBinaryDisabled();


CCCV иногда подводит.


Спасибо, заработало.
Но все равно не понятно почему так происходит и надо дополнительные макросы вводить, кто косяк?)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Cosmojam   xSemaphoreTake() первый раз не получать   Feb 10 2012, 13:25
- - aaarrr   Цитата(Cosmojam @ Feb 10 2012, 17:25) Ест...   Feb 10 2012, 13:47
- - Cosmojam   И что он будет делать? Захватывать свежесозданный ...   Feb 10 2012, 17:36
|- - aaarrr   Цитата(Cosmojam @ Feb 10 2012, 21:36) И ч...   Feb 10 2012, 17:45
- - Cosmojam   Всё, теперь понял, ларчик просто открывался Спаси...   Feb 10 2012, 18:49
- - Bass   или просто сразу взять семафор после его создания   Feb 11 2012, 05:15
- - aaarrr   И получите в коде холостую последовательность xSem...   Feb 11 2012, 11:24
|- - Dele   Цитата(aaarrr @ Feb 11 2012, 15:24) И пол...   Apr 7 2014, 20:06
|- - Сергей Борщ   Цитата(Dele @ Apr 7 2014, 22:06) Я ничего...   Apr 8 2014, 02:44
|- - Dele   Цитата(Сергей Борщ @ Apr 8 2014, 06:44) 1...   Apr 8 2014, 04:40
- - aaarrr   Так создайте семафор приведенным выше макросом. Не...   Apr 8 2014, 05:32
|- - Dele   Цитата(aaarrr @ Apr 8 2014, 09:32) Так со...   Apr 8 2014, 10:39
|- - aaarrr   Цитата(Dele @ Apr 8 2014, 14:39) Немного ...   Apr 8 2014, 11:16
|- - Dele   Цитата(aaarrr @ Apr 8 2014, 15:16) Соверш...   Apr 8 2014, 16:10
- - LightElf   QUOTE (Dele @ Apr 9 2014, 06:30) Но все р...   Apr 9 2014, 03:43


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

 


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


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