Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FreeRTOS и vTaskDelayUntil
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
klen
С vTaskDelay все работает, с vTaskDelayUntil нет. Функция возвращает сразу управление. Смотрю в книгу(task.с) вижу фигу! ниче не пойму.

Код
portTickType     xBlinkTaskWakeTime;
void vBlinkTaskCode( void * pvParameters )
{
   IO1DIR = _BV(24);
   xBlinkTaskWakeTime = xTaskGetTickCount ();
       while(1)
       {
           vTaskDelayUntil( &xBlinkTaskWakeTime, 1000 );
           IO1CLR = (1<<LINK_LED_IOPIN);
           vTaskDelayUntil( &xBlinkTaskWakeTime, 1000 );
           IO1SET = (1<<LINK_LED_IOPIN);
       }
}
zltigo
Цитата(klen @ Dec 3 2007, 22:26) *
ниче не пойму.

Нечему там не работать. Работает. Наверное ты что-то в системе сломал случайно sad.gif
klen
Цитата(zltigo @ Dec 3 2007, 23:55) *
Нечему там не работать. Работает. Наверное ты что-то в системе сломал случайно sad.gif

Тут и ломатся нечему! потому что в FreeRTOS практически нету ничего...
Bender
А версия какая оси? по крайней мере в 4.05 все работало
xBlinkTaskWakeTime чему равно?
zltigo
Цитата(Bender @ Dec 5 2007, 23:06) *
А версия какая оси? по крайней мере в 4.05 все работало

Да оно во всех работало и работает. Klen, просто где-то в другом немного запутался sad.gif.
klen
Цитата(zltigo @ Dec 6 2007, 00:10) *
Да оно во всех работало и работает. Klen, просто где-то в другом немного запутался sad.gif.

Все заработало. Вот я ступил! Адрес SWI обработчика вместо переключения на (swi #0)->vPortYieldProcessor, редиректил на vTaskSwitchContext 07.gif глупость нусусветная. Копи паст проклятый... Мдя, трудность заключалось в моем случае что пока я не использовал вызовы которые используют taskYIELD() неплохо работало! переключение контекстов по таймеру работает, задачки в режиме полинга внешних сигналов работают....
косяг! и невнимательность.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.