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

 
 
 
Reply to this topicStart new topic
> Как работает UCOS, Создание задачи.
Exstreem
сообщение Aug 6 2009, 06:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 5-02-09
Пользователь №: 44 428



Всем доброго времени суток.
Решил посмотреть беглым взглядом как написана ucos_ii. Меня удивила одна вещь, заключающаяся в следующем.
Например, функция создания задачи.
#if OS_TASK_CREATE_EN > 0
INT8U OSTaskCreate (void (*task)(void *p_arg),
void *p_arg,
OS_STK *ptos,
INT8U prio).
OS_TASK_CREATE_EN всеречается только 2 раза:
#define OS_TASK_CREATE_EN 1 /* Include code for OSTaskCreate() и
INT16U const OSTaskCreateEn = OS_TASK_CREATE_EN;
Вопрос в следующем: зачем проверяют #if OS_TASK_CREATE_EN > 0, если он всегда равен 1, т.к. нет отмены определения этого идентификатора?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 6 2009, 07:08
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Так этот дефайн вы и должны сами вручную переопределить если решите что функция OSTaskCreate вам не нужна.
Это и есть нормальный стиль конфигурирования uCOS.


Цитата(Exstreem @ Aug 6 2009, 09:15) *
Всем доброго времени суток.
Решил посмотреть беглым взглядом как написана ucos_ii. Меня удивила одна вещь, заключающаяся в следующем.
Например, функция создания задачи.
#if OS_TASK_CREATE_EN > 0
INT8U OSTaskCreate (void (*task)(void *p_arg),
void *p_arg,
OS_STK *ptos,
INT8U prio).
OS_TASK_CREATE_EN всеречается только 2 раза:
#define OS_TASK_CREATE_EN 1 /* Include code for OSTaskCreate() и
INT16U const OSTaskCreateEn = OS_TASK_CREATE_EN;
Вопрос в следующем: зачем проверяют #if OS_TASK_CREATE_EN > 0, если он всегда равен 1, т.к. нет отмены определения этого идентификатора?
Go to the top of the page
 
+Quote Post
Exstreem
сообщение Aug 6 2009, 08:17
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 5-02-09
Пользователь №: 44 428



Но там много таких дефайнов. Надо вручную "отключать" неиспользуемые функции?
(Извините, если показался вопрос глупым, но я еще на начальной стадии освоения).

Спасибо, AlexandrY.
Сейчас глубже поковырялся в инете и нашел ответ на свой вопрос. Как раз ими можно отключить, что не нужно.
Go to the top of the page
 
+Quote Post

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

 


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


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