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