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

 
 
> Двоичный семафор, ядро Cortex-M3
MiG-3
сообщение Apr 8 2013, 05:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 23-01-12
Пользователь №: 69 823



Добрый день!
Возникла проблемка, которую пока не могу решить. Может кто-то с такой сталкивался.
Пока код не буду постить.
Делаю прием данных из UARTa в оброботчике прерывания. По приему всего пакета отдаю из обработчика двоичный семафор в задачу. В задаче принимаю семафор с ограниченным ожиданием. Все работает нормально, но через какое-то время (1 час, 12 часов, сутки - по разному) происходит зависон задачи. Из отладки выяснил, что этот двоичный семафор не ждет ни прием семафора, ни отдачи, его длинна 1 элемент. Т.е., как я понимаю, он уже получил из обработчика прерывания семафор, но отдавать в задачу не хочет (даже по таймауту задача не продолжается). Что это??? Как это???
Т.е. вроде все класически, но...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение Apr 9 2013, 05:18
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Не заметил установки приоритета прерывания по уарту.

Функции freertos можно дергать только из прерываний с приоритетом не выше, чем настроено в конфиге freertos-а. Обратите внимание, что приоритет тем выше, чем меньше его числовое значение.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 14:57
Рейтинг@Mail.ru


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