ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
47876
goz (05.01.2006 13:30, просмотров: 573)
Народ, если кто пользует порт uCOS под Win32 помогите плз! Взял порт для uCOS'а чтобы отлаживать программу на PC. Все было отлично до тех пор, пока у меня была всего одна пользовательская задача. Когда я добавил вторую все сломалось :( Берем примерчик из запуска задач, где внчале запускается задача AppStartTask, из которой можно стартовать все необходимые задачи. Добавляю в нее следующий код: OSTaskCreateExt(Task1, (void *)0, (OS_STK *)&Task1Stk[TASK_STK_SIZE-1], TASK1_PRIO, TASK1_PRIO, (OS_STK *)&Task1Stk[0], TASK_STK_SIZE, (void *)0, OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); Sleep(500); OSTaskCreateExt(Task2, (void *)0, (OS_STK *)&Task2Stk[TASK_STK_SIZE-1], TASK2_PRIO, TASK2_PRIO, (OS_STK *)&Task2Stk[0], TASK_STK_SIZE, (void *)0, OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); В результате оба вызова OSTaskCreateExt возвращают, что все хорошо, но реально управелние получает только одна задача - та, которая имеет более высокий приоритет. Пробовал ее приостанавливать Sleep'ом - не помогает. В чем дело? Вроде все сделано правильно... Заранее спасибо.