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

 
 
 
Reply to this topicStart new topic
> FreeRTOS и vTaskDelayUntil, не работает, выкидывает сразу
klen
сообщение Dec 3 2007, 20:26
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



С 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);
       }
}
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 3 2007, 20:55
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(klen @ Dec 3 2007, 22:26) *
ниче не пойму.

Нечему там не работать. Работает. Наверное ты что-то в системе сломал случайно sad.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
klen
сообщение Dec 4 2007, 09:54
Сообщение #3


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



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

Тут и ломатся нечему! потому что в FreeRTOS практически нету ничего...
Go to the top of the page
 
+Quote Post
Bender
сообщение Dec 5 2007, 21:06
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 28-06-05
Из: Тула
Пользователь №: 6 361



А версия какая оси? по крайней мере в 4.05 все работало
xBlinkTaskWakeTime чему равно?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 5 2007, 21:10
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Bender @ Dec 5 2007, 23:06) *
А версия какая оси? по крайней мере в 4.05 все работало

Да оно во всех работало и работает. Klen, просто где-то в другом немного запутался sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
klen
сообщение Dec 6 2007, 11:16
Сообщение #6


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



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

Все заработало. Вот я ступил! Адрес SWI обработчика вместо переключения на (swi #0)->vPortYieldProcessor, редиректил на vTaskSwitchContext 07.gif глупость нусусветная. Копи паст проклятый... Мдя, трудность заключалось в моем случае что пока я не использовал вызовы которые используют taskYIELD() неплохо работало! переключение контекстов по таймеру работает, задачки в режиме полинга внешних сигналов работают....
косяг! и невнимательность.
Go to the top of the page
 
+Quote Post

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

 


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


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