Idle Task

Создайте задачу свободного доступа

Описание

Блок Idle Task и подсистема, соединенная с ним, задают функции в нисходящей подсистеме, чтобы выполниться как фоновые задачи. Задачи, выполняемые через блок Idle Task, имеют самый низкий приоритет, ниже, чем та из задачи базовой ставки.

Этот блок не поддерживается на целевых компьютерах, которые запускают операционную систему.

Векторизованный Выход

Порты

Входной параметр

развернуть все

Дополнительное симулированное прерывание для тестирования асинхронного поведения прерывания во время симуляции Simulink®.

Зависимости от порта

Чтобы включить этот порт, выберите параметр Enable simulation input.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Вывод

развернуть все

Числа, которые идентифицируют фоновые задачи и флаги вытеснения задачи, представленные как векторы. Вектор идентификатора задачи хранит числа, которые идентифицируют фоновые задачи.

Для каждой фоновой задачи вектор флага вытеснения хранит флаг, который указывает, может ли задача быть вытеснена. Если вектор флага вытеснения не содержит один элемент, число элементов в векторе флага вытеснения должно совпадать с длиной вектора идентификатора задачи. Если вектор флага вытеснения имеет то же число элементов как вектор идентификатора задачи, каждой задаче, представленной в векторе идентификатора задачи, задало вытеснение, устанавливающее значение соответствующего элемента в векторе флага вытеснения. Когда вектор флага вытеснения содержит один элемент, установка флага применяется к целому вектору идентификатора задачи.

Задача более высокого приоритета не может вытеснить задачу более низкого приоритета, которая не может быть вытеснена.

Типы данных: uint8

Параметры

развернуть все

Задайте идентификаторы задачи для функций, которые находятся в нисходящей подсистеме как вектор из целых чисел в области значений от 0 до 15. Вектор должен содержать то же количество значений как количество функций в нисходящей подсистеме. Например, векторный [1 2] по умолчанию указывает, что нисходящая подсистема содержит две функции.

Количество значений, которые вы вводите, соответствует количеству функций в нисходящей подсистеме. Значения, которые вы задаете, определяют порядок выполнения функций. Например, векторный [2 3 1] указывает что:

  • Подсистема содержит три функции.

  • Третья функция выполняется сначала.

  • Первая функция выполняется второй.

  • Вторая функция выполняет треть.

После того, как функции выполняются, циклы блока Idle Task назад, и повторяет выполнение функций в том же порядке.

Задайте флаги вытеснения для задач, заданных параметром Task numbers как вектор максимум из 16 единиц и нулей. Прерывания более высокого приоритета могут вытеснить прерывания, которые имеют более низкий приоритет. Чтобы управлять вытеснением, используйте флаги вытеснения, чтобы задать, может ли прерывание быть вытеснено.

Значение 1 указывает, что прерывание для соответствующей задачи может быть вытеснено. Значение 0 указывает, что прерывание не может быть вытеснено. У вас есть опция определения:

  • Одно значение вытеснения, которое применяется к целому вектору, который вы задаете для Task numbers.

  • Значение вытеснения для каждой задачи идентифицировало в векторе, что вы задаете для Task numbers. Задайте флаговые значения в порядке, который соответствует порядку задач в Task numbers.

Например, если вы задаете векторный [2 3 1] для Task numbers и [0] для Preemption flags, задачи 1, 2, и 3 не может быть вытеснен. Если вы задаете [1 1 0] для Preemption flags, задачи 2 и 3 может быть вытеснен и задача 1 не может быть вытеснен.

Выберите этот параметр, чтобы создать входной порт, который получает вход прерывания для симуляции модели. Используйте порт, чтобы соединить и протестировать асинхронное поведение обработки прерывания на один или несколько симулированных источников прерывания во время симуляции модели Simulink.

Введенный в R2011a