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

 
 
 
Reply to this topicStart new topic
> Вызов osThreadResume из обработчика прерывания, Можно ли использовать вызов ф-кции?
Neo_Matrix
сообщение Apr 6 2016, 11:20
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-04-06
Пользователь №: 16 029



Собственно вопрос, насколько безопасно использовать вызов функции osThreadResume из обработчика прерывания, которая описана в файле cmsis_os.с. Данный файл генерируется Кубом при создании проэкта с РТОС. Проц серии stm32f4xx.
Сама функция:
Код
osStatus osThreadResume (osThreadId thread_id)
{
#if (INCLUDE_vTaskSuspend == 1)  
  if(inHandlerMode())
  {
    if (xTaskResumeFromISR(thread_id) == pdTRUE)
    {
      portYIELD_FROM_ISR(pdTRUE);
    }
  }
  else
  {
    vTaskResume(thread_id);
  }
  return osOK;
#else
  return osErrorResource;
#endif
}

Как я заметил, функция выполняет проверку откуда она была вызвана. Но так ли это на самом деле?

Сообщение отредактировал Neo_Matrix - Apr 6 2016, 14:58
Go to the top of the page
 
+Quote Post

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

 


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


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