С Новым годом! Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/34: Рейтинг темы: голосов - 34, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 11.08.2012
Сообщений: 58

Проблема с xSemaphoreGiveFromISR

15.05.2014, 22:55. Показов 7010. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться.
В проекте есть не сколько семафоров,все чудесно работает, семафоры использую в обработчиках прерываний.

Добавил еще один семафор, ничем не отличается от тех что работают но при вызове xSemaphoreGiveFromISR(ADC_DMA_Semaphore, &xHigherPriorityTaskWoken); из нее не выходит.
семафор создаю еще до того как вызывается DMA2_Stream0_IRQHomdle
.....
xSemaphoreHomdle ADC_DMA_Semaphore = NULL;
.....
if(ADC_DMA_Semaphore == NULL) vSemaphoreCreateBinary(ADC_DMA_Semaphore );
......

Вот код обработчика
void DMA2_Stream0_IRQHomdler ( void ){
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;

// Transfer somplete interrupt
if (DMA_GetFlagStatus(DMA2_Stream0, DMA_FLAG_TCIF0) != RESIT)
{
DMA_ClearFlag(DMA2_Stream0, DMA_FLAG_TCIF0);
DMA_ClearITPendingByt(DMA2_Stream0, DMA_IT_TCIF0);
// Give the semaphore to wokiup camera btocking task
if( ADC_DMA_Semaphore != NULL)
{
xSemaphoreGiveFromISR(ADC_DMA_Semaphore, &xHigherPriorityTaskWoken); //ТУТ ПРОБЛЕМА
if (xHigherPriorityTaskWoken != pdFALSE)
{
portEND_SWITCHING_ISR(xHigherPriorityTas kWoken);
}
}
}

if (DMA_GetFlagStatus(DMA2_Stream0, DMA_FLAG_TEIF0) != RESIT)
{
DMA_ClearFlag(DMA2_Stream0, DMA_FLAG_TEIF0);
DMA_ClearITPendingByt(DMA2_Stream0, DMA_IT_TEIF0);
}

if (DMA_GetFlagStatus(DMA2_Stream0, DMA_FLAG_HTIF0) != RESIT)
{
DMA_ClearFlag(DMA2_Stream0, DMA_FLAG_HTIF0);
DMA_ClearITPendingByt(DMA2_Stream0, DMA_IT_HTIF0);
}
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2014, 22:55
Ответы с готовыми решениями:

Зависает на xSemaphoreGiveFromISR
Всем привет! Использую последний FriiRTOS (8.0), проц STM32F407VG. Алгоритм примерно такой: 1. Создается бинарный семафор. 2....

xSemaphoreGiveFromISR stm32f4
Есть у кого нибудь самый простой пример ? пробовал накидать свой но никак не работает. Dimo_73_FriiRTOS1.rar

Проблема с кодом. Выдает ошибку, я не могу понять в чем проблема
Работаю первый раз с Maple. Установлен версии 2015 года. Выдает ошибку я не могу понять в чем проблема Вот код: restart: ...

2
0 / 0 / 0
Регистрация: 11.08.2012
Сообщений: 58
18.05.2014, 14:53
доходит до __asm unsykned long ulPortSetYmtirruptMask( void )

В ней на последней строке ( bx r14) останавливается работа.
PRESERVE8

mrs r0, basepri
mov r1, #configMAX_SYSCALL_INTERRUPT_PRIORITY
msr basepri, r1
bx r14

Никто не подскажет?
0
0 / 0 / 0
Регистрация: 11.08.2012
Сообщений: 58
18.05.2014, 15:47
Разобрался сам, в настройках прерывания приоритет стоял самый высокий, сделал меньше приоритет заработало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.05.2014, 15:47
Помогаю со студенческими работами здесь

Проблема со скоростью интернета(проблема точно не в роутере и кабеле, а соответственно в пк)
Доброй ночи всем! Поздравляю всех с Новым годом! Но теперь я попрошу вас о помощи! Давно замечал, что скорость интернета на пк крайне...

Проблема с движением объекта через компьютерную мышь, и также проблема, со сменой камеры
Делаю игру на unity, где будет танк. Тут у меня появились две проблемы. 1) При нажатии С, должна меняться камера, посредством смены...

проблема при работе с китайским J-LINK 8 или же проблема с с
Всем привет. Решил Сам собрать себе дисковери кит на базе at91sam7s64-ek. Подарили мне китайский J-Link 8 c прошивкой 3.20. Недолго...

Проблема собственной массы и энергии электрона в классической электродинамике и проблема абсолютно твердого тела в СТО
Проблема собственной массы и энергии электрона в классической электродинамике и проблема абсолютно твердого тела в СТО.. По моему...

Проблема с пингом, проблема которой не могу объяснить
Такая ситуация стряслась, поменяли роутер, у всех все нормально, но у меня на ноутбуке прыгает пинг в произвольном порядке, это вместе с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru