В этом разделе описывается сконфигурировать пользовательский целевой процессор к прототипному управлению функцией поддержки. Без описанных модификаций вы не сможете использовать доступные интерфейсы для настройки интерфейсов функции точки входа. Для получения дополнительной информации смотрите, Настраивают Сгенерированные Интерфейсы Функции C (Embedded Coder).
Требования для поддержки C управление прототипом функции следующие:
Цель должна быть выведена от цели ERT.
Системный конечный файл (STF) должен объявить соответствие управления прототипом функции C, как описано в Объявлении C Соответствие Управления Прототипом функции.
Если ваша цель использует пользовательскую статическую основную программу, и если настройка управления прототипом функции не по умолчанию сопоставлена с моделью, статическая основная программа должна вызвать прототипа функции, которым управляют, инициализируют и ступенчатые функции, как описано в Обеспечении C Поддержка Управления Прототипом функции в Пользовательской Статической Основной Программе.
Для примера, который показывает, как сконфигурировать пользовательские целевые дополнительные функции, смотрите, Настраивают Системные Конечные файлы.
Чтобы объявить прототипа функции C управляют соответствием для вашей цели, необходимо реализовать функцию обратного вызова, которая устанавливает флаг ModelStepFunctionPrototypeControlCompliant
, и затем установите функцию обратного вызова в поле SelectCallback
структуры rtwgensettings
в STF. Функция обратного вызова инициирована каждый раз, когда пользователь выбирает цель в Системном Браузере Конечного файла. Например, следующий код STF устанавливает функцию с именем SelectCallback
custom_select_callback_handler
:
rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';
Аргументы к функции SelectCallback
(hDlg
, hSrc
) являются указателями на частные данные, используемые API-функциями коллбэка. Эти указатели ограничиваются, чтобы использовать в функциях обратного вызова STF. Они должны быть переданы в без изменения.
Ваша функция обратного вызова должна установить флаг ModelStepFunctionPrototypeControlCompliant
можно следующим образом:
slConfigUISetVal(hDlg,hSrc,'ModelStepFunctionPrototypeControlCompliant','on'); slConfigUISetEnabled(hDlg,hSrc,'ModelStepFunctionPrototypeControlCompliant',false);
Для получения дополнительной информации о API коллбэка STF, смотрите slConfigUIGetVal
, slConfigUISetEnabled
и страницы ссылки на функцию slConfigUISetVal
.
Когда целевой параметр конфигурации ModelStepFunctionPrototypeControlCompliant
установлен в on
, можно использовать диалоговое окно Configure C Step Function Interface, чтобы управлять прототипом функции ступенчатой функции тарифной ставки, сгенерированной для основанной на уровне модели.
Если ваша цель использует пользовательскую статическую основную программу, и если настройка управления прототипом функции не по умолчанию сопоставлена с моделью, необходимо обновить статическую основную программу, чтобы вызвать прототипа функции, которым управляют, инициализируют и ступенчатые функции. Можно сделать это любым из следующих способов:
Вручную адаптируйте свою статическую основную программу, чтобы объявить, что данные модели и вызывать прототипа функции, которым управляют, инициализируют и ступенчатые функции.
Сгенерируйте свою основную программу с помощью Generate an example main program на панели Templates диалогового окна Configuration Parameters. Сгенерированная основная программа объявляет данные модели и вызывает прототипа функции, которым управляют, инициализируют и ступенчатая функция.