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

 
 
> Двоичный семафор, ядро 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
Ответов
demiurg_spb
сообщение Apr 8 2013, 06:16
Сообщение #2


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(MiG-3 @ Apr 8 2013, 09:16) *
Как вариант, может где-то в обработчике не хватает __DSB()


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:36
Рейтинг@Mail.ru


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